nix-user-chroot icon indicating copy to clipboard operation
nix-user-chroot copied to clipboard

Does not work inside of WSL2

Open mspaulding06 opened this issue 3 years ago • 3 comments

I am having trouble getting this program to work inside of WSL2. Of note is that I am running from the unstable channel. I have run the following commands.

mkdir -m 0755 ~/.nix
nix run --store ~/.nix nixpkgs.bash nixpkgs.coreutils
nix-user-chroot ~/.nix bash

And doing that shows the following error.

failed to execute bash: No such file or directory (os error 2)

So then I try the chroot command with sudo and get a new error.

thread 'main' panicked at 'failed to bind mount /home/nixos/.nix to /nix: EACCES: Permission denied', src/main.rs:159:31
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Trying again with the backtrace environment variable yields no interesting results. I'm really stuck here and not sure where to go from this point. Any help on the matter would be greatly appreciated.

mspaulding06 avatar Jun 18 '21 18:06 mspaulding06

First of all, since you can use sudo, do you really need this tool? Also you try to stack nix-user-chroot nix run --store inside the nix store. This might cause problems when using bash because is in the nix store that gets remounted and might be no longer accessible. Maybe it works with /bin/bash.

Mic92 avatar Jun 18 '21 20:06 Mic92

I'm simply trying to follow the installation instructions that I'm seeing in the README doc for the repository. It is somewhat confusing what I am supposed to do here to get nix-user-chroot to work. I don't understand why it's not able to find the bash command. I've tried passing absolute paths for it as well and that doesn't seem to do much different.

mspaulding06 avatar Jun 25 '21 15:06 mspaulding06

It is not finding bash because it comes from a different nix store already as it seems and nix-user-chroot binds mount a new one. You could work around by using /bin/bash.

Mic92 avatar Jun 26 '21 09:06 Mic92