From edc3c4dbbfc6a77b20abb125ef3032152ae496bf Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Mon, 11 Nov 2024 11:29:25 -0500 Subject: [PATCH] adding vst nix packages --- .gitattributes | 2 + .../excite_cymbal_pro-v1.0.1.zip | 3 ++ .../excite_snare_drum_PRO_1.1.10.zip | 3 ++ flake.lock | 48 ++++++++--------- home/home.nix | 12 ++++- packages/amplocker/package.nix | 51 +++++++++++++++++++ packages/chair-audio/cymb.nix | 48 +++++++++++++++++ packages/chair-audio/snare.nix | 48 +++++++++++++++++ packages/tal/bassline.nix | 45 ++++++++++++++++ packages/tal/j8.nix | 45 ++++++++++++++++ packages/tal/u-no-lx.nix | 45 ++++++++++++++++ 11 files changed, 324 insertions(+), 26 deletions(-) create mode 100644 binary-installers/excite_cymbal_pro-v1.0.1.zip create mode 100644 binary-installers/excite_snare_drum_PRO_1.1.10.zip create mode 100644 packages/amplocker/package.nix create mode 100644 packages/chair-audio/cymb.nix create mode 100644 packages/chair-audio/snare.nix create mode 100644 packages/tal/bassline.nix create mode 100644 packages/tal/j8.nix create mode 100644 packages/tal/u-no-lx.nix diff --git a/.gitattributes b/.gitattributes index 6e12c63..15f7c4c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -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 diff --git a/binary-installers/excite_cymbal_pro-v1.0.1.zip b/binary-installers/excite_cymbal_pro-v1.0.1.zip new file mode 100644 index 0000000..4031bd0 --- /dev/null +++ b/binary-installers/excite_cymbal_pro-v1.0.1.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:472508863a335f707bc561331522cc2c40522453795dc7f3a42accd5685b361a +size 3116703 diff --git a/binary-installers/excite_snare_drum_PRO_1.1.10.zip b/binary-installers/excite_snare_drum_PRO_1.1.10.zip new file mode 100644 index 0000000..cd56e0d --- /dev/null +++ b/binary-installers/excite_snare_drum_PRO_1.1.10.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33893e0aece1c266b6e8829a5c334372297d66a10adda0f495d66f1734c1ce28 +size 3098184 diff --git a/flake.lock b/flake.lock index dc5f687..05963dc 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { diff --git a/home/home.nix b/home/home.nix index 624a1ea..b9482fc 100644 --- a/home/home.nix +++ b/home/home.nix @@ -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 diff --git a/packages/amplocker/package.nix b/packages/amplocker/package.nix new file mode 100644 index 0000000..79b15c9 --- /dev/null +++ b/packages/amplocker/package.nix @@ -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; + }; +} diff --git a/packages/chair-audio/cymb.nix b/packages/chair-audio/cymb.nix new file mode 100644 index 0000000..47b59be --- /dev/null +++ b/packages/chair-audio/cymb.nix @@ -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; + }; +} diff --git a/packages/chair-audio/snare.nix b/packages/chair-audio/snare.nix new file mode 100644 index 0000000..534f9ef --- /dev/null +++ b/packages/chair-audio/snare.nix @@ -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; + }; +} diff --git a/packages/tal/bassline.nix b/packages/tal/bassline.nix new file mode 100644 index 0000000..51f9d9a --- /dev/null +++ b/packages/tal/bassline.nix @@ -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; + }; +} diff --git a/packages/tal/j8.nix b/packages/tal/j8.nix new file mode 100644 index 0000000..5442f8d --- /dev/null +++ b/packages/tal/j8.nix @@ -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; + }; +} diff --git a/packages/tal/u-no-lx.nix b/packages/tal/u-no-lx.nix new file mode 100644 index 0000000..ef0e5a8 --- /dev/null +++ b/packages/tal/u-no-lx.nix @@ -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; + }; +}