adding vst nix packages

This commit is contained in:
Matt Nish-Lapidus 2024-11-11 11:29:25 -05:00
parent a5ae1b6e82
commit edc3c4dbbf
11 changed files with 324 additions and 26 deletions

2
.gitattributes vendored
View file

@ -1 +1,3 @@
binary-installers/rns_344_linux_x86_64.tar.gz filter=lfs diff=lfs merge=lfs -text
binary-installers/excite_cymbal_pro-v1.0.1.zip filter=lfs diff=lfs merge=lfs -text
binary-installers/excite_snare_drum_PRO_1.1.10.zip filter=lfs diff=lfs merge=lfs -text

BIN
binary-installers/excite_cymbal_pro-v1.0.1.zip (Stored with Git LFS) Normal file

Binary file not shown.

BIN
binary-installers/excite_snare_drum_PRO_1.1.10.zip (Stored with Git LFS) Normal file

Binary file not shown.

48
flake.lock generated
View file

@ -106,11 +106,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1730635946,
"narHash": "sha256-CdeoMnMXpCq4wBWEWHfUUs68zoyAJLfp1JmfXWtmAgc=",
"lastModified": 1731240728,
"narHash": "sha256-a0xQE3cwZLMsycd9NneFC3z29E+z1PSD/ozhISM7qYQ=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "d0ecc1890f77e9e170f2de279d6902d84a0cbc51",
"rev": "807ab623e6d01e931269a28a07c59dcfd6474173",
"type": "github"
},
"original": {
@ -147,11 +147,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1730389079,
"narHash": "sha256-g/CJ/KKe5MGsVx1oCBl0F9aCdcNSDeOw8H7e5QDGa2c=",
"lastModified": 1731250407,
"narHash": "sha256-AwyDiazOqBZBUPp0vqYEzvBseZo3Eg16mfjAFvKv2lc=",
"owner": "nix-community",
"repo": "nix-eval-jobs",
"rev": "7f9159a16584ee86eed077c8a73e845690b7d513",
"rev": "96902c4573cd03ea7e533634cb49861148f49a7a",
"type": "github"
},
"original": {
@ -219,11 +219,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1730919458,
"narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=",
"lastModified": 1731332224,
"narHash": "sha256-0ctfVp27ingWtY7dbP5+QpSQ98HaOZleU0teyHQUAw0=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "e1cc1f6483393634aee94514186d21a4871e78d7",
"rev": "184687ae1a3139faa4746168baf071f60d0310c8",
"type": "github"
},
"original": {
@ -235,11 +235,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"lastModified": 1731139594,
"narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2",
"type": "github"
},
"original": {
@ -251,11 +251,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1730595754,
"narHash": "sha256-F6DyPKY2WAUf8fpaT9vQwwRUs74InQM36ng//h9wNhY=",
"lastModified": 1731200463,
"narHash": "sha256-qDaAweJjdFbVExqs8aG27urUgcgKufkIngHW3Rzustg=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2376a861a1a15f05339245fbaa4422f2d1bdf485",
"rev": "e04234d263750db01c78a412690363dc2226e68a",
"type": "github"
},
"original": {
@ -266,11 +266,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1730963269,
"narHash": "sha256-rz30HrFYCHiWEBCKHMffHbMdWJ35hEkcRVU0h7ms3x0=",
"lastModified": 1731239293,
"narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "83fb6c028368e465cd19bb127b86f971a5e41ebc",
"rev": "9256f7c71a195ebe7a218043d9f93390d49e6884",
"type": "github"
},
"original": {
@ -290,11 +290,11 @@
]
},
"locked": {
"lastModified": 1731173576,
"narHash": "sha256-68VU1/901ZchkgqwawIzJuNDeR8DHNoI6zBpZBJYogc=",
"lastModified": 1731334772,
"narHash": "sha256-i/4ZwFQ+C5sje6tbLzd1a9Co1fkgaumScIohp12R5W0=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "4b1917d2887df811e9008a108bc9db203c53c766",
"rev": "0b6f305f79fc1fc554a0fdd26a3b4d160d2ac56d",
"type": "github"
},
"original": {
@ -305,11 +305,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1723221148,
"narHash": "sha256-7pjpeQlZUNQ4eeVntytU3jkw9dFK3k1Htgk2iuXjaD8=",
"lastModified": 1730958623,
"narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "154bcb95ad51bc257c2ce4043a725de6ca700ef6",
"rev": "85f7e662eda4fa3a995556527c87b2524b691933",
"type": "github"
},
"original": {

View file

@ -128,7 +128,8 @@
libGL
# fontconfig
# freetype
# nix-ld
nix-ld
nurl
freecad
prusa-slicer
@ -145,6 +146,7 @@
nixd
nixdoc
nix-init
# bottles-unwrapped
@ -253,6 +255,7 @@
ardour
parinfer-rust-emacs
dockfmt
clap
# Audio plugins (LV2, VST2, VST3, LADSPA)
eq10q
@ -269,10 +272,15 @@
chow-tape-model
easyeffects
vcv-rack
distrho-ports
cardinal
roomeqwizard
guitarix
(callPackage ../packages/tal/bassline.nix {})
(callPackage ../packages/tal/j8.nix {})
(callPackage ../packages/tal/u-no-lx.nix {})
(callPackage ../packages/amplocker/package.nix {})
(callPackage ../packages/chair-audio/snare.nix {})
(callPackage ../packages/chair-audio/cymb.nix {})
# Fonts
fira-code

View file

@ -0,0 +1,51 @@
{ stdenv, pkgs, fetchurl, lib, unzip, autoPatchelfHook, makeWrapper, ... }:
stdenv.mkDerivation rec {
pname = "Amp Locker";
version = "latest";
src = fetchurl {
url = "https://audioassaultdownloads.s3.amazonaws.com/AmpLocker/AmpLocker109/AmpLockerLinux.zip";
sha256 = "sha256-aZPDjhCk6xbTHGeZi+WbSVz0qphCIeeqFH5hE6it7z4=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
freetype
fontconfig
alsa-lib
pipewire
curl
stdenv.cc.cc.lib
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/lib/vst3 $out/
mv "Amp Locker.vst3/Contents/x86_64-linux/Amp Locker.so" "Amp Locker.vst3/Contents/x86_64-linux/AmpLocker.so"
cp -r "Amp Locker.vst3" $out/lib/vst3/AmpLocker.vst3
'';
NIX_LDFLAGS = (toString [
"-lX11"
"-lXext"
"-lXcursor"
"-lXinerama"
"-lXrandr"
]);
postFixup = ''
for file in \
$out/lib/vst3/AmpLocker.vst3/Contents/x86_64-linux/AmpLocker.so
do
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $file
done
'';
meta = with lib; {
homepage = "https://audioassault.mx/getamplocker#Get_Amp_Locker";
description = "Amp Locker";
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,48 @@
{ stdenv, pkgs, fetchurl, lib, unzip, autoPatchelfHook, makeWrapper, ... }:
stdenv.mkDerivation rec {
pname = "Excite Cymbal Pro";
version = "latest";
src = ../../binary-installers/excite_cymbal_pro-v1.0.1.zip;
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
freetype
fontconfig
alsa-lib
pipewire
curl
stdenv.cc.cc.lib
xorg.libICE
xorg.libSM
xorg.libX11
xorg.libXext
xorg.libXcursor
xorg.libxkbfile
zulip.out
xcb-util-cursor
libxkbcommon
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/lib/vst3
cp -r excite_cymbal_pro/excite_cymbal_PRO.vst3 $out/lib/vst3/
'';
postFixup = ''
for file in \
$out/lib/vst3/excite_cymbal_PRO.vst3/Contents/x86_64-linux/excite_cymbal_PRO.so
do
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $file
done
'';
meta = with lib; {
homepage = "https://www.chair.audio/";
description = "Excite Cymbal Pro";
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,48 @@
{ stdenv, pkgs, fetchurl, lib, unzip, autoPatchelfHook, makeWrapper, ... }:
stdenv.mkDerivation rec {
pname = "Excite Snare Pro";
version = "latest";
src = ../../binary-installers/excite_snare_drum_PRO_1.1.10.zip;
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
freetype
fontconfig
alsa-lib
pipewire
curl
stdenv.cc.cc.lib
xorg.libICE
xorg.libSM
xorg.libX11
xorg.libXext
xorg.libXcursor
xorg.libxkbfile
zulip.out
xcb-util-cursor
libxkbcommon
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/lib/vst3
cp -r excite_snare_drum_PRO.vst3 $out/lib/vst3/
'';
postFixup = ''
for file in \
$out/lib/vst3/excite_snare_drum_PRO.vst3/Contents/x86_64-linux/excite_snare_drum_PRO.so
do
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $file
done
'';
meta = with lib; {
homepage = "https://www.chair.audio/";
description = "Excite Snare Pro";
platforms = platforms.linux;
};
}

45
packages/tal/bassline.nix Normal file
View file

@ -0,0 +1,45 @@
{ stdenv, pkgs, fetchurl, lib, unzip, autoPatchelfHook, makeWrapper, ... }:
stdenv.mkDerivation rec {
pname = "tal-bassline";
version = "3.9.4";
src = fetchurl {
url = "https://tal-software.com/downloads/plugins/TAL-BassLine-101_64_linux.zip";
sha256 = "sha256-szlmaaCIbkCTLa23vrAICSq4dgorHfPWjOxiF6M2Xzk=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
freetype
fontconfig
alsa-lib
pipewire
stdenv.cc.cc.lib
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/lib/vst $out/lib/vst3 $out/lib/clap
cp -r TAL-BassLine-101/TAL-BassLine-101.clap $out/lib/clap
cp -r TAL-BassLine-101/libTAL-BassLine-101.so $out/lib/vst
cp -r TAL-BassLine-101/TAL-BassLine-101.vst3 $out/lib/vst3
'';
postFixup = ''
for file in \
$out/lib/clap/TAL-BassLine-101.clap \
$out/lib/vst/libTAL-BassLine-101.so \
$out/lib/vst3/TAL-BassLine-101.vst3/Contents/x86_64-linux/TAL-BassLine-101.so
do
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $file
done
'';
meta = with lib; {
homepage = "https://tal-software.com/products/tal-bassline-101";
description = "TAL Bassline 101";
platforms = platforms.linux;
};
}

45
packages/tal/j8.nix Normal file
View file

@ -0,0 +1,45 @@
{ stdenv, pkgs, fetchurl, lib, unzip, autoPatchelfHook, makeWrapper, ... }:
stdenv.mkDerivation rec {
pname = "tal-j8";
version = "latest";
src = fetchurl {
url = "https://tal-software.com/downloads/plugins/TAL-J-8_64_linux.zip";
sha256 = "sha256-Z1ASlR4aqUh0yFzW0sOJLocXk1RPOnGmKCri2n/qcWc=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
freetype
fontconfig
alsa-lib
pipewire
stdenv.cc.cc.lib
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/lib/vst $out/lib/vst3 $out/lib/clap
cp -r TAL-J-8/TAL-J-8.clap $out/lib/clap
cp -r TAL-J-8/libTAL-J-8.so $out/lib/vst
cp -r TAL-J-8/TAL-J-8.vst3 $out/lib/vst3
'';
postFixup = ''
for file in \
$out/lib/clap/TAL-J-8.clap \
$out/lib/vst/libTAL-J-8.so \
$out/lib/vst3/TAL-J-8.vst3/Contents/x86_64-linux/TAL-J-8.so
do
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $file
done
'';
meta = with lib; {
homepage = "https://tal-software.com/products/tal-j-8";
description = "TAL-J-8";
platforms = platforms.linux;
};
}

45
packages/tal/u-no-lx.nix Normal file
View file

@ -0,0 +1,45 @@
{ stdenv, pkgs, fetchurl, lib, unzip, autoPatchelfHook, makeWrapper, ... }:
stdenv.mkDerivation rec {
pname = "tal-u-no-lx";
version = "latest";
src = fetchurl {
url = "https://tal-software.com/downloads/plugins/TAL-U-NO-LX-V2_64_linux.zip";
sha256 = "sha256-okPSejK2RQTy1s4cmxoM8D7d2ZeoWCITgHS2aT0atKc=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
freetype
fontconfig
alsa-lib
pipewire
stdenv.cc.cc.lib
];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/lib/vst $out/lib/vst3 $out/lib/clap
cp -r TAL-U-NO-LX-V2/TAL-U-NO-LX-V2.clap $out/lib/clap
cp -r TAL-U-NO-LX-V2/libTAL-U-NO-LX-V2.so $out/lib/vst
cp -r TAL-U-NO-LX-V2/TAL-U-NO-LX-V2.vst3 $out/lib/vst3
'';
postFixup = ''
for file in \
$out/lib/clap/TAL-U-NO-LX-V2.clap \
$out/lib/vst/libTAL-U-NO-LX-V2.so \
$out/lib/vst3/TAL-U-NO-LX-V2.vst3/Contents/x86_64-linux/TAL-U-NO-LX-V2.so
do
patchelf --set-rpath "${lib.makeLibraryPath buildInputs}" $file
done
'';
meta = with lib; {
homepage = "https://tal-software.com/products/tal-u-no-lx";
description = "TAL-U-NO-LX";
platforms = platforms.linux;
};
}