../home
#nixos

licensed renoise on nixos

i started messing around with renoise a little while ago and had to figure out how to get it running on nixOS. i’ll assume you know what renoise is if you’re reading this so let’s just dive into the setup.

renoise package

download the licensed version from the renoise site and place it into the directory where the nix module is located.

nix module

the nix module below is based on the derivation in the nixpkg repo, just lightly modified to reference the renoise package in the local directory rather than using the non-license/demo version from the renoise site. confirmed on nixOS 25.11.

with import <nixpkgs> { };

stdenv.mkDerivation rec {
  pname = "renoise";
  version = "3.5.3";

  src = ./rns_353_linux_x86_64.tar.gz;

  buildInputs = [
    alsa-lib
    libjack2
    xorg.libX11
    xorg.libXcursor
    xorg.libXext
    xorg.libXinerama
    xorg.libXrandr
    xorg.libXtst
    pipewire
  ];

  installPhase = ''
    cp -r Resources $out

    mkdir -p $out/lib/

    cp renoise $out/renoise

    for path in ${toString buildInputs}; do
      ln -s $path/lib/*.so* $out/lib/
    done

    ln -s ${lib.getLib stdenv.cc.cc}/lib/libstdc++.so.6 $out/lib/

    mkdir $out/bin
    ln -s $out/renoise $out/bin/renoise

    # Desktop item
    mkdir -p $out/share/applications
    cp -r Installer/renoise.desktop $out/share/applications/renoise.desktop

    # Desktop item icons
    mkdir -p $out/share/icons/hicolor/{48x48,64x64,128x128}/apps
    cp Installer/renoise-48.png $out/share/icons/hicolor/48x48/apps/renoise.png
    cp Installer/renoise-64.png $out/share/icons/hicolor/64x64/apps/renoise.png
    cp Installer/renoise-128.png $out/share/icons/hicolor/128x128/apps/renoise.png
  '';

  postFixup = ''
    patchelf \
      --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
      --set-rpath ${mpg123}/lib:$out/lib \
      $out/renoise

    for path in $out/AudioPluginServer*; do
      patchelf \
        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
        --set-rpath $out/lib \
        $path
    done

    substituteInPlace $out/share/applications/renoise.desktop \
      --replace Exec=renoise Exec=$out/bin/renoise
  '';

  meta = {
    description = "Modern tracker-based DAW";
    homepage = "https://www.renoise.com/";
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
    license = lib.licenses.unfree;
    platforms = [ "x86_64-linux" ];
    mainProgram = "renoise";
  };
}

install

then run this command to install:

nix-env -if ./renoise-custom.nix

additional configs

real-time audio support

my default nix profiles all use pipewire for audio with rtkit already enabled (as below) but i also found that there were noticeable audio artifacts when using the alsa backend. JACK is the recommended option for “semi-professional” audio applications like daws so you’ll probably want to set that up. this is how i did it:

security.rtkit.enable = true;
services.pipewire = {
  enable = true;
  alsa.enable = true;
  alsa.support32Bit = true;
  pulse.enable = true;
  jack.enable = true;
};

xwayland

the native renoise gui only supports x11 so you’ll need to have xwayland installed if you’re on a wayland session. i’m using sway and all i had to do was add the xwayland package to my configuration.nix to get things working.