!XrtRvzcHOrHtSKARne:nixos.org

NixOS Audio

136 Members
35 Servers

Load older messages


SenderMessageTime
30 Sep 2022
@alejandrosame:matrix.org@alejandrosame:matrix.org* I'm very confused about how to add musnix as a flake and later call musnix.enable on my configuration.nix file. Does anybody have a link to a working example so I can see the proper setup? The repo is not too clear on this for a newbie that's still figuring the Nix ecosystem.18:03:09
@mukayu:matrix.orgmukayu joined the room.18:06:36
@Minijackson:matrix.orgMinijackson so, musnix is another repository containing Nix files, which you can track using inputs, this allows your configuration to use a fixed version of that repo, while allowing manual upgrades 21:11:04
@Minijackson:matrix.orgMinijackson you can add this input by adding near the top inputs.musnix.url = "github:musnix/musnix"; 21:11:28
@Minijackson:matrix.orgMinijackson 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:matrix.orgMinijackson

which gives:

github:musnix/musnix/6eb5c1714fbb7622b7270be78243365f9c55c9cb
├───nixosModule: NixOS module
└───nixosModules
    └───musnix: NixOS module
21:12:36
@Minijackson:matrix.orgMinijackson * 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:matrix.orgMinijackson so you're interested in either musnix.nixosModule and musnix.nixosModules.musnix 21:13:30
@Minijackson:matrix.orgMinijackson (nixosModule was deprecated for nixosModules.default, so I suggest using the second one) 21:13:53
@Minijackson:matrix.orgMinijackson so, in your nixosSystem call, you can add in your modules / imports the expression musnix.nixosModules.musnix 21:14:27
@Minijackson:matrix.orgMinijackson
{
  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@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:matrix.orgMinijacksonI agree, we're missing a lot of flakes documentation in the NixOS/nixpkgs manual21:20:27
@Minijackson:matrix.orgMinijacksonor even an in-depth tutorial21:20:33
@Minijackson:matrix.orgMinijackson(well this is a new/experimental feature)21:20:51
1 Oct 2022
@greaka:greaka.degreaka left the room.06:18:48
@alejandrosame:matrix.org@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
@rosariopulella:matrix.orgRosuavio joined the room.19:04:32
6 Oct 2022
@seapat:matrix.org@seapat:matrix.org joined the room.18:53:53
15 Oct 2022
@heartman:matrix.orgThomas Heartman (he/him) joined the room.17:07:55
@heartman:matrix.orgThomas 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:ckie.devckie (they/them) Thomas Heartman (he/him): https://cs.github.com/?scopeName=All+repos&scope=&q=Zebralette+u-he+language%3Anix 17:37:14
@ckie:ckie.devckie (they/them) (in case its still auth-gated, single result; this) 17:37:43
@heartman:matrix.orgThomas Heartman (he/him)Oh, sick! Thank you so much 😄17:41:41
@heartman:matrix.orgThomas Heartman (he/him)image.png
Download image.png
17:49:58
@heartman:matrix.orgThomas 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
@heartman:matrix.orgThomas 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:ckie.devckie (they/them)nope, never touched the Actual Thing just did my usual search :P17:51:18
@ckie:ckie.devckie (they/them) maybe LD_DEBUG=libs and/or strace | grep dlopen 17:51:36
@ckie:ckie.devckie (they/them) * maybe LD_DEBUG=libs 17:51:48

Show newer messages


Back to Room ListRoom Version: 9