From dd1192ab42a4fa116752d65b5b38296f3649bad6 Mon Sep 17 00:00:00 2001 From: Eleina Mironia Date: Mon, 6 Apr 2026 23:19:01 -0500 Subject: [PATCH 1/3] maintainers: add eleina fix: missing attr key --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 75ea35fce6b0..f8b556abfc1b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7704,6 +7704,13 @@ githubId = 103082; name = "Ed Brindley"; }; + eleina = { + email = "ellie@eleina.dev"; + github = "eleinah"; + githubId = 129979592; + name = "Eleina Mironia"; + keys = [ { fingerprint = "0A86 5F49 90B1 569C B849 5070 2EF4 8A29 49D6 5978"; } ]; + }; eleonora = { email = "leonsch@protonmail.com"; github = "42LoCo42"; From 655e3354167d63919a7f376897aa762d45d595e9 Mon Sep 17 00:00:00 2001 From: Eleina Mironia Date: Mon, 6 Apr 2026 23:19:32 -0500 Subject: [PATCH 2/3] bitwig-studio6: init at 6.0 fix: pname fix: main program I had mixed up `pname` and `meta.mainProgram` fix: usr/share copy Without `mkdir "$out"`, `cp -r usr/share "$out"` was dropping all of the contents into `./result` instead of `./result/share` --- pkgs/by-name/bi/bitwig-studio6/package.nix | 157 +++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 pkgs/by-name/bi/bitwig-studio6/package.nix diff --git a/pkgs/by-name/bi/bitwig-studio6/package.nix b/pkgs/by-name/bi/bitwig-studio6/package.nix new file mode 100644 index 000000000000..cbb6052144c6 --- /dev/null +++ b/pkgs/by-name/bi/bitwig-studio6/package.nix @@ -0,0 +1,157 @@ +{ + alsa-lib, + atk, + autoPatchelfHook, + bubblewrap, + cairo, + dpkg, + fetchurl, + freetype, + gdk-pixbuf, + glib, + gtk3, + harfbuzz, + lcms, + lib, + libglvnd, + libjack2, + libjpeg8, + libnghttp2, + libudev-zero, + libx11, + libxcb, + libxcb-util, + libxcb-wm, + libxcursor, + libxkbcommon, + libxtst, + makeBinaryWrapper, + pango, + pipewire, + stdenv, + vulkan-loader, + wrapGAppsHook3, + writeShellScript, + xcb-imdkit, + zlib, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "bitwig-studio6"; + version = "6.0"; + + src = fetchurl { + name = "bitwig-studio-${finalAttrs.version}.deb"; + url = "https://www.bitwig.com/dl/Bitwig%20Studio/${finalAttrs.version}/installer_linux"; + hash = "sha256-jrCTgaxfeWhfKwLeKLmqTQWS7RVbVnHqJ0InCipmm8k="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoPatchelfHook + dpkg + makeBinaryWrapper + wrapGAppsHook3 + ]; + + buildInputs = [ + atk + cairo + freetype + gdk-pixbuf + glib + gtk3 + harfbuzz + lcms + libglvnd + (lib.getLib stdenv.cc.cc) + libjack2 + libjpeg8 + libnghttp2 + libudev-zero + libx11 + libxcb + libxcb-util + libxcb-wm + libxcursor + libxkbcommon + libxtst + pango + pipewire + vulkan-loader + xcb-imdkit + zlib + alsa-lib + ]; + + dontWrapGApps = true; # we only want $gappsWrapperArgs here + + installPhase = '' + runHook preInstall + + mkdir "$out" + cp -r usr/share "$out" + cp -r opt/bitwig-studio "$out"/libexec + + # 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 + + runHook postInstall + ''; + + postFixup = + let + wrapper = writeShellScript "bitwig-studio" '' + set -e + + currentDir="$(cd "$(dirname "$0")" && pwd)" + outDir="$(cd "$currentDir/.." && pwd)" + + TMPDIR="$(mktemp --directory)" + cp -r "$outDir"/libexec/resources/VampTransforms "$TMPDIR" + chmod -R u+w "$TMPDIR/VampTransforms" + + bwrap \ + --bind / / \ + --bind "$TMPDIR"/VampTransforms "$outDir"/libexec/resources/VampTransforms \ + --dev-bind /dev /dev \ + "$outDir"/libexec/bitwig-studio \ + || true + + rm -rf "$TMPDIR" + ''; + in + '' + for e in "$out"/libexec/bin/*gtk*; do + if [ -f "$e" ] && [ -x "$e" ]; then + wrapProgram "$e" "''${gappsWrapperArgs[@]}" + fi + done + + install -D ${wrapper} "$out"/bin/bitwig-studio + wrapProgram "$out"/bin/bitwig-studio \ + --prefix PATH : ${lib.makeBinPath [ bubblewrap ]} + ''; + + meta = { + 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 = lib.licenses.unfree; + platforms = [ "x86_64-linux" ]; + maintainers = with lib.maintainers; [ + bfortz + eleina + michalrus + mrVanDalo + ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + mainProgram = "bitwig-studio"; + }; +}) From 26c079a21eaad5f892fd4051da060b8f8c0da3c4 Mon Sep 17 00:00:00 2001 From: Eleina Mironia Date: Mon, 6 Apr 2026 23:20:10 -0500 Subject: [PATCH 3/3] bitwig-studio: bitwig-studio5 -> bitwig-studio6 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0c6306892b86..1b7863492b85 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9283,7 +9283,7 @@ with pkgs; bitwig-studio-unwrapped = bitwig-studio5-unwrapped; }; - bitwig-studio = bitwig-studio5; + bitwig-studio = bitwig-studio6; blucontrol = callPackage ../applications/misc/blucontrol/wrapper.nix { inherit (haskellPackages) ghcWithPackages;