Demucs 4.0.0 on Nix
Splitting tracks into their stems is fun! It's great for karaoke or to listen to little details you would not notice otherwise in your favorite songs. Want to use demucs to do that on Nix/NixOS? Follow along! Note: python programs have the fun tendency to break every month or so. This mini tutorial will become outdated extremely fast.
We'll use nix-shell to create an environment. Then, we'll use pip to install demucs. We'll fix an issue with LD not finding libc++. Ready? Go! Create a file called shell.nix (or whatever.) Paste the following (and read the comments if you want to understand).
with import <nixpkgs> { };

# Usage: python3 -m demucs -d cpu --mp3 <input.mp3>
  pythonPackages = python3Packages;
in pkgs.mkShell rec {
  name = "impurePythonEnv";
  venvDir = "./.venv";
  buildInputs = [

    # This executes some shell code to initialize a venv in $venvDir before
    # dropping into the shell

    # Those are dependencies that we would like to use from nixpkgs, which will
    # add them to PYTHONPATH and thus make them accessible from within the venv.

    # In this particular example, in order to compile any binary extensions they may
    # require, the Python modules listed in the hypothetical requirements.txt need
    # the following packages to be installed locally:

  # Run this command, only after creating the virtual environment
  postVenvCreation = ''
    #pip install demucs
    pip install 'demucs=4.0.0'

  # Now we can execute any commands within the virtual environment.
  # This is optional and can be left out to run pip manually.
  postShellHook = ''
    # allow pip to install wheels
nix-shell shell.nix
If you are lucky, the install will complete without blowing up in your face.
Using demucs
I use the following command line to use the cpu version:
python3 -m demucs -d cpu --mp3 <input_file.mp3>
The stems will be in the folder separated/htdemucs/<song_name>/*.mp3 Enjoy ~