30 Sep 2022 |
Minijackson | the usefulness of the musnix flakes itself comes from its outputs, which you can look at by doing nix flake show github:musnix/musnix | 21:12:15 |
Minijackson | which gives:
github:musnix/musnix/6eb5c1714fbb7622b7270be78243365f9c55c9cb
├───nixosModule: NixOS module
└───nixosModules
└───musnix: NixOS module
| 21:12:36 |
Minijackson | * you can add this input by adding near the top inputs.musnix.url = "github:musnix/musnix"; , and adding musnix to the arguments of the outputs function. | 21:13:17 |
Minijackson | so you're interested in either musnix.nixosModule and musnix.nixosModules.musnix | 21:13:30 |
Minijackson | (nixosModule was deprecated for nixosModules.default , so I suggest using the second one) | 21:13:53 |
Minijackson | so, in your nixosSystem call, you can add in your modules / imports the expression musnix.nixosModules.musnix | 21:14:27 |
Minijackson | {
description = "...";
inputs.nixpkgs.url = "...";
inputs.musnix.url = "github:musnix/musnix";
outputs = { self, nixpkgs, musnix }: {
nixosConfigurations."myConfig" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
musnix.nixosModules.musnix
# ...
];
};
};
}
| 21:15:59 |
@alejandrosame:matrix.org | Minijackson: Thank you very much for detailing the mechanisms! I'll try this tomorrow again and see what knowledge gaps I still have :) | 21:19:52 |
Minijackson | I agree, we're missing a lot of flakes documentation in the NixOS/nixpkgs manual | 21:20:27 |
Minijackson | or even an in-depth tutorial | 21:20:33 |
Minijackson | (well this is a new/experimental feature) | 21:20:51 |
1 Oct 2022 |
| greaka left the room. | 06:18:48 |
@alejandrosame:matrix.org | Turns out I wasn't that far off. It seems I simply was confused by not seeing any update on max-user-freq values. | 13:45:26 |
5 Oct 2022 |
| Rosuavio joined the room. | 19:04:32 |
6 Oct 2022 |
| @seapat:matrix.org joined the room. | 18:53:53 |
15 Oct 2022 |
| Thomas Heartman (he/him) joined the room. | 17:07:55 |
Thomas Heartman (he/him) | Hey! 🙋 I'm just getting back into audio production (first time on NixOS). I've found a number of free synths packaged into nixpkgs, but I haven't been able to find u-he's Zebralette or Tyrell N6. Do you know if they're available somewhere? If not, would any of you have a derivation for them or be able to help me write one? 🙏 | 17:10:15 |
ckie (they/them) | Thomas Heartman (he/him): https://cs.github.com/?scopeName=All+repos&scope=&q=Zebralette+u-he+language%3Anix | 17:37:14 |
ckie (they/them) | (in case its still auth-gated, single result; this) | 17:37:43 |
Thomas Heartman (he/him) | Oh, sick! Thank you so much 😄 | 17:41:41 |
Thomas Heartman (he/him) |  Download image.png | 17:49:58 |
Thomas Heartman (he/him) | I had to do some minor changes (update to the latest version), but it seems to have worked. For reference, here's what I ended up with:
{ stdenv, libuuid, libxcb, expat, gtk3, glib }:
stdenv.mkDerivation {
pname = "Zebralette-mini-Zebra";
version = "2.9.3";
src = builtins.fetchurl {
url = "https://dl.u-he.com/releases/Zebra2_293_12092_Linux.tar.xz";
sha256 = "sha256:1imn0a1pjgqihcms86m7wblc9fifmc2l9xczykl8c0bkzw883xpx";
};
dontBuild = true;
sourceRoot = "Zebra2-12092";
installPhase = ''
mkdir -p $out/lib/vst
cp -r Zebra2/* $out/lib
ln -f $out/lib/Zebra2.64.so $out/lib/vst/Zebra2.64.so
'';
postFixup = ''
patchelf \
--set-rpath ${expat}/lib:${libxcb}/lib:${libuuid.out}/lib \
$out/lib/vst/Zebra2.64.so
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath ${gtk3}/lib:${glib.out}/lib \
$out/lib/dialog.64
'';
}
However, when trying to run the plugins (in Bitwig), I'm getting these messages:
| 17:49:58 |
Thomas Heartman (he/him) | * I had to do some minor changes (update to the latest version), but it seems to have worked. For reference, here's what I ended up with:
{ stdenv, libuuid, libxcb, expat, gtk3, glib }:
stdenv.mkDerivation {
pname = "Zebralette-mini-Zebra";
version = "2.9.3";
src = builtins.fetchurl {
url = "https://dl.u-he.com/releases/Zebra2_293_12092_Linux.tar.xz";
sha256 = "sha256:1imn0a1pjgqihcms86m7wblc9fifmc2l9xczykl8c0bkzw883xpx";
};
dontBuild = true;
sourceRoot = "Zebra2-12092";
installPhase = ''
mkdir -p $out/lib/vst
cp -r Zebra2/* $out/lib
ln -f $out/lib/Zebra2.64.so $out/lib/vst/Zebra2.64.so
'';
postFixup = ''
patchelf \
--set-rpath ${expat}/lib:${libxcb}/lib:${libuuid.out}/lib \
$out/lib/vst/Zebra2.64.so
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath ${gtk3}/lib:${glib.out}/lib \
$out/lib/dialog.64
'';
}
However, when trying to run the plugins (in Bitwig), I'm getting the above error (Installation issue: no GUI resources. Please run the installer again). Does that sound familiar?
| 17:50:22 |
ckie (they/them) | nope, never touched the Actual Thing just did my usual search :P | 17:51:18 |
ckie (they/them) | maybe LD_DEBUG=libs and/or strace | grep dlopen | 17:51:36 |
ckie (they/them) | * maybe LD_DEBUG=libs | 17:51:48 |
Thomas Heartman (he/him) | Cool; I'll try that! ... How do I do that? Is that in the derivation? Also interesting thing to note: the synth seems to be working, there's just no GUI. That said, not being able to change presets or twist any knobs does make it kinda useless for now. | 17:56:57 |
ckie (they/them) | oh no, just an env var when you run it! | 17:57:18 |
Thomas Heartman (he/him) | Right! When I run the DAW, that is? | 17:57:31 |
ckie (they/them) | oh, that's going to be a lot more noisy then | 17:57:40 |