Setting up DXVK from nixpkgs

Hi everyone,

Recently I’ve been attempting to switch my audio production setup from Windows to NixOS, using the wine+yabridge package for Windows plugins, using native Reaper. My setup uses a flake.nix, that uses home-manager as an input. Nixpkgs and home manager are tied to stable 25.11. I have installed “dxvk” via home manager from the nixpkgs channel. The yabridge+wine are bundled via the package “wineWowPackages.yabridge”, also from nixpkgs stable.

The DXVK supposedly bundles the script “setup_dxvk.sh” - I’ve checked on the git repo and cannot find where is this supposedly to be deployed at. Running “find /nix -name “*setup_dxvk*”” gives me the following results:

/nix/store/bbhjlx4sam13a02ribfh4yi3hna7j94g-nixos-25.05.805687.34627c90f062/nixos/pkgs/by-name/dx/dxvk/setup_dxvk.sh
/nix/store/afnmipm3vxjy3igpdw4pywfwj0kry5p9-setup_dxvk.sh
/nix/store/0z93z74qsb2vqaigfw2kax2i4lrs9j9x-source/pkgs/by-name/dx/dxvk/setup_dxvk.sh
/nix/store/24qw2z8xgh1zd36vm52ackgzj84qqq9b-source/pkgs/by-name/dx/dxvk/setup_dxvk.sh
/nix/store/1pga6kbxmh6i8pylg4w7k88xksx3lwvx-source/pkgs/by-name/dx/dxvk/setup_dxvk.sh

But these are all from store which is a read-only package. I’ve also looked for typical bin deployment folders /usr/bin /usr/local/bin to no avail. I guess my questions boil down to:

  1. For nixpkgs that bundle scripts or binaries, what’s the strategy to find them in your install
  2. How to setup dxvk with the script?

I’m aware some people avoid the script as it may get garbage collected on updates, and run a purely declarative setup that manual overrides the Direct3D libraries via scripts on .nix files, but I’d be happy with the script option. Some audio plugins use the more modern JUCE framework and the GUI of the plugin freezes when you load them.

I’ll be happy to move this to another place if it’s more appropriate.

Try nix-shell -p dxvk.out

The DXVK package has a number of outputs, but specifying the .out output should get you setup_dxvk.sh in the PATH.

Of course, when you run the script it will expect Wine to be installed and either WINEPREFIX to be set or ~.wine to already exist.

If you added DXVK as a package, I’d expect setup_dxvk.sh to be on your path. As mentioned, you have to run it on a Wine prefix. What does command -v setup_dxvk.sh show?

Thanks for your replies.

“setup_dxvk.sh” was not on my $PATH. “command -v setup_dxvk.sh” printed out an empty line.

Running a nix-shell like suggested nix-shell -p dxvk.out indeed made the shell script available on the $PATH. Since my yabridge and wine setup was all working “setup_dxvk.sh install” worked just fine and now the plugins that were not working respond fine on my DAW.

Thanks for the help!

1 Like

That’s awesome :slight_smile: That means that if you want to install the package, you can install it as dxvk.out, rather than as dxvk. That would keep it from getting garbage collected.

2 Likes