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.