From 14ad4cd2c5079c0e60be0f539aa3a007018ec046 Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Wed, 5 Feb 2025 12:33:25 -0500 Subject: [PATCH] updating audio flake --- flake.lock | 77 +++++++-- flake.nix | 7 +- homes/emenel/default.nix | 9 +- .../bitwig-studio-unwrapped.nix | 146 ------------------ packages/bitwig-studio-beta/package.nix | 49 ------ 5 files changed, 78 insertions(+), 210 deletions(-) delete mode 100644 packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix delete mode 100644 packages/bitwig-studio-beta/package.nix diff --git a/flake.lock b/flake.lock index 253a952..c560d9e 100644 --- a/flake.lock +++ b/flake.lock @@ -23,6 +23,27 @@ "type": "github" } }, + "audio": { + "inputs": { + "nix-buildproxy": "nix-buildproxy", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738776578, + "narHash": "sha256-toDghGRq7NQmRNFysCeshZte9qgaNdoDWrUHzAH+KM4=", + "ref": "refs/heads/master", + "rev": "af897fbb7a220314187a64f7d5d438c94695b54c", + "revCount": 103, + "type": "git", + "url": "https://gt.emenel.ca/emenel/audio.nix.git" + }, + "original": { + "type": "git", + "url": "https://gt.emenel.ca/emenel/audio.nix.git" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -131,15 +152,15 @@ }, "emacs-overlay": { "inputs": { - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1738747026, - "narHash": "sha256-ohbCR94xorgPky/czzNGca2Lxe2RxmB+E85pOInGp54=", + "lastModified": 1738775993, + "narHash": "sha256-LNnDrJpy2oMn6IYXCCi5FWqEcT4gD1rnt0xM36Fov3Q=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "abfa104fff496f9eb7a091728af73067ccf8802d", + "rev": "ed5cb1becdad3465ca08dd8ef0b156ae4390505f", "type": "github" }, "original": { @@ -895,7 +916,7 @@ "inputs": { "flake-compat": "flake-compat_3", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1725758175, @@ -911,6 +932,25 @@ "type": "github" } }, + "nix-buildproxy": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1708455753, + "narHash": "sha256-qP79WfPiTl92KrZkmvacba9Xas4WwSFln5DjkP2Q/Lg=", + "owner": "polygon", + "repo": "nix-buildproxy", + "rev": "77d486cb4b0458cb4c4a296c3140f7a6c36ab3e6", + "type": "github" + }, + "original": { + "owner": "polygon", + "ref": "v0.1.0", + "repo": "nix-buildproxy", + "type": "github" + } + }, "nix-filter": { "locked": { "lastModified": 1731533336, @@ -1004,6 +1044,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1708118438, + "narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1738680400, "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", @@ -1019,7 +1075,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1725103162, "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", @@ -1035,7 +1091,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1738680400, "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", @@ -1145,6 +1201,7 @@ "root": { "inputs": { "affinity-nix": "affinity-nix", + "audio": "audio", "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "hypridle": "hypridle", @@ -1155,7 +1212,7 @@ "niri": "niri", "nix-flatpak": "nix-flatpak", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "paperwm": "paperwm", "shikane": "shikane", "sops-nix": "sops-nix", @@ -1260,11 +1317,11 @@ "rev": "ca9fa2489a83a096227f2a1bfb62ee80aad9b607", "revCount": 232, "type": "git", - "url": "https://gitlab.com/w0lff/shikane" + "url": "https://gitlab.com/w0lff/shikane.git" }, "original": { "type": "git", - "url": "https://gitlab.com/w0lff/shikane" + "url": "https://gitlab.com/w0lff/shikane.git" } }, "sops-nix": { diff --git a/flake.nix b/flake.nix index 1b603d0..c965724 100644 --- a/flake.nix +++ b/flake.nix @@ -27,7 +27,7 @@ }; shikane = { - url = "git+https://gitlab.com/w0lff/shikane"; + url = "git+https://gitlab.com/w0lff/shikane.git"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -53,6 +53,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + audio = { + url = "git+https://gt.emenel.ca/emenel/audio.nix.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + wezterm = { url = "github:wez/wezterm?dir=nix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/homes/emenel/default.nix b/homes/emenel/default.nix index 34ea820..3ee7ec1 100644 --- a/homes/emenel/default.nix +++ b/homes/emenel/default.nix @@ -5,7 +5,8 @@ allowUnfree = true; }; overlays = builtins.attrValues nix-config.overlays - ++ [ inputs.emacs-overlay.overlays.default ]; + ++ [ inputs.emacs-overlay.overlays.default + inputs.audio.overlays.default ]; }; imports = with nix-config.homeModules; [ @@ -38,14 +39,14 @@ the-usual-suspects.xenia the-usual-suspects.ostirus the-usual-suspects.osirus - # bitwig-studio-beta + paulxstretch ]) (with pkgs; [ guix thonny - bitwig-studio + bitwig-studio5-latest wayback just @@ -352,12 +353,12 @@ chow-phaser chow-centaur chow-tape-model + chow-multitool easyeffects vcv-rack cardinal roomeqwizard guitarix - # paulxstretch vital helio-workstation stochas diff --git a/packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix b/packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix deleted file mode 100644 index cfd53c2..0000000 --- a/packages/bitwig-studio-beta/bitwig-studio-unwrapped.nix +++ /dev/null @@ -1,146 +0,0 @@ -{ - stdenv, - fetchurl, - alsa-lib, - atk, - cairo, - dpkg, - ffmpeg, - freetype, - gdk-pixbuf, - glib, - gtk3, - harfbuzz, - lib, - libglvnd, - libjack2, - libjpeg, - libnghttp2, - libxkbcommon, - makeWrapper, - pango, - pipewire, - wireplumber, - pulseaudio, - vulkan-loader, - wrapGAppsHook3, - xcb-imdkit, - xdg-utils, - xorg, - zlib, -}: - -stdenv.mkDerivation rec { - pname = "bitwig-studio-unwrapped"; - version = "5.3-beta-6"; - - src = fetchurl { - name = "bitwig-studio-${version}.deb"; - url = "https://downloads-secure.bitwig.com/5.3%20Beta%206/bitwig-studio-5.3-beta-6.deb?__token__=st=1737819113.0~exp=1737819713.0~hmac=4f89ac2fb395e08a914fe57eb46d2313b2d5288f981d0f7e2da9089325c4c099&source_url=/dl/Bitwig%20Studio/5.3%20Beta%206/installer_linux/"; - sha256 = "sha256-DE5qWSAcOJHThAXdQouOVRkFNhuzZD9j8gphByaQEis="; - - }; - - nativeBuildInputs = [ - dpkg - makeWrapper - wrapGAppsHook3 - ]; - - dontBuild = true; - dontWrapGApps = true; # we only want $gappsWrapperArgs here - - buildInputs = with xorg; [ - alsa-lib - atk - cairo - freetype - gdk-pixbuf - glib - gtk3 - harfbuzz - libglvnd - libjack2 - # libjpeg8 is required for converting jpeg's to colour palettes - libjpeg - libnghttp2 - libxcb - libXcursor - libX11 - libXtst - libxkbcommon - pango - pipewire - wireplumber - pulseaudio - (lib.getLib stdenv.cc.cc) - vulkan-loader - xcb-imdkit - xcbutil - xcbutilwm - zlib - ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp -r opt/bitwig-studio $out/libexec - ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio - cp -r usr/share $out/share - - # Bitwig includes a copy of libxcb-imdkit. - # Removing it will force it to use our version. - rm $out/libexec/lib/bitwig-studio/libxcb-imdkit.so.1 - - substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \ - $out/share/applications/com.bitwig.BitwigStudio.desktop \ - --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio - - runHook postInstall - ''; - - postFixup = '' - # patchelf fails to set rpath on BitwigStudioEngine, so we use - # the LD_LIBRARY_PATH way - - find $out -type f -executable \ - -not -name '*.so.*' \ - -not -name '*.so' \ - -not -name '*.jar' \ - -not -name 'jspawnhelper' \ - -not -path '*/resources/*' | \ - while IFS= read -r f ; do - patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f - # make xdg-open overrideable at runtime - wrapProgram $f \ - "''${gappsWrapperArgs[@]}" \ - --prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \ - --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ - --suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}" - done - - find $out -type f -executable -name 'jspawnhelper' | \ - while IFS= read -r f ; do - patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f - done - ''; - - meta = with lib; { - description = "Digital audio workstation"; - longDescription = '' - Bitwig Studio is a multi-platform music-creation system for - production, performance and DJing, with a focus on flexible - editing tools and a super-fast workflow. - ''; - homepage = "https://www.bitwig.com/"; - license = licenses.unfree; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ - bfortz - michalrus - mrVanDalo - ]; - sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; - }; -} diff --git a/packages/bitwig-studio-beta/package.nix b/packages/bitwig-studio-beta/package.nix deleted file mode 100644 index 0bda040..0000000 --- a/packages/bitwig-studio-beta/package.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ - stdenv, - bubblewrap, - mktemp, - writeShellScript, - bitwig-studio-unwrapped, -}: -stdenv.mkDerivation { - inherit (bitwig-studio-unwrapped) version; - - pname = "bitwig-studio"; - - dontUnpack = true; - dontConfigure = true; - dontBuild = true; - dontPatchELF = true; - dontStrip = true; - - installPhase = - let - wrapper = writeShellScript "bitwig-studio" '' - set -e - - echo "Creating temporary directory" - TMPDIR=$(${mktemp}/bin/mktemp --directory) - echo "Temporary directory: $TMPDIR" - echo "Copying default Vamp Plugin settings" - cp -r ${bitwig-studio-unwrapped}/libexec/resources/VampTransforms $TMPDIR - echo "Changing permissions to be writable" - chmod -R u+w $TMPDIR/VampTransforms - - echo "Starting Bitwig Studio in Bubblewrap Environment" - ${bubblewrap}/bin/bwrap \ - --bind / / \ - --bind $TMPDIR/VampTransforms ${bitwig-studio-unwrapped}/libexec/resources/VampTransforms \ - --dev-bind /dev /dev \ - ${bitwig-studio-unwrapped}/bin/bitwig-studio \ - || true - - echo "Bitwig exited, removing temporary directory" - rm -rf $TMPDIR - ''; - in - '' - mkdir -p $out/bin - cp ${wrapper} $out/bin/bitwig-studio - cp -r ${bitwig-studio-unwrapped}/share $out - ''; -}