hi everyone, im having hell time installing Nix on Debian i literally spent the whole fucking day trying!! after i tried installing the daemon but it says ''It seems the build group nixbld already exists, but
with the UID 997. This script can’t really handle
that right now, so I’m going to give up.
You can fix this by editing this script and changing the
NIX_BUILD_GROUP_ID variable near the top to from 30000
to 997 and re-run."
how would i even edit this script sir? can you please provide me more information?
Use your favourite editor like Emacs, vim, vscode, whatever, edit the mentioned line, save, rerun.
Here is the problem. This error message is entirely useless because you simply cannot find the file to edit. The https://nixos.org/nix/install script is not the one you want to edit - It downloads the actual installer, extracts it into a random temporary directory, and deletes it when an error occurs. In other words, when you see this error message the files simply don’t exist anymore!
OH, sorry about my snippy answer then. I assumed that https://nixos.org/nix/install was the script to edit, and not some second or third level helper script…
Alternatively and for Debian specifically, you might want to try nix-bin from the Debian repositories if this script doesn’t work. I haven’t used it and it’s not the most recent version of Nix, but it will probably bootstrap everything correctly and you can progress from there.
@abathur Thank you for the answer. Sadly this does not work, I just get the same error message but with “999” instead of “998”, and export NIX_BUILD_GROUP_ID=999 then installing leads to a mistake again. Also, anytime I open a terminal I get the bash: /home/user/.nix-profile/etc/profile.d/nix.sh: No such file or directory error message. At that point I am tempted to just re-install my Ubuntu distribution, is there any way to get around that?
To install nix afterwards, try to use the determinate installer. It is not official, but takes great care to not leave your system in a broken state of it fails in some way and might replace the official installer at some point in the future.
Thanks. I deleted the multi-user installation of Nix as indicated, but the determinate installer still stops with error message ``nix is already a valid command, so it is installed. Before that I have a warning warning: the group 'nixbld' specified in 'build-users-group' does not exist nix-env (Nix) 2.6.0.
Do you have any idea as to where I should look for deleting Nix before reinstalling it?
Presumably it’s still installed. Might have missed a step, or maybe a step errored and didn’t run right? Might also have a Nix installed by some other package manager?
Indeed, it says /usr/bin/nix and /bin/nix. I am trying to install the Lean proof assistant (https://leanprover.github.io/), but this also fails (and uninstalling it thanks to elan does not make the Nix installation succeed)
Unclear if “indeed” means you know there’s a Nix installed by some other PM?
In any case, those aren’t normal paths for the Nix binary, so those are either symlinks or you may have some kind of package manager install. You can try readlink /usr/bin/nix to check for the symlink. If you’ve got a Nix installed by some other PM, you’ll need to follow their instructions to clean it up.
Thank you for the suggestion. I have uninstalled nix-bin, remove the elan package manager, which I think was using nix, and I’m pretty sure I don’t have installed anything else that uses nix.
Trying to install Nix the the determinate installer, I now get another error message:
Error:
0: Planner error
1: Error executing action
2: Action `configure_init_service` errored
3: `/etc/systemd/system/nix-daemon.socket` already exists, consider removing it with `rm /etc/systemd/system/nix-daemon.socket`
Location:
src/cli/subcommand/install.rs:159
Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
Consider reporting this error using this URL: https://github.com/DeterminateSystems/nix-installer/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+Planner+error%0A+++1%3A+Error+executing+action%0A+++2%3A+Action+%60configure_init_service%60+errored%0A+++3%3A+%60%2Fetc%2Fsystemd%2Fsystem%2Fnix-daemon.socket%60+already+exists%2C+consider+removing+it+with+%60rm+%2Fetc%2Fsystemd%2Fsystem%2Fnix-daemon.socket%60%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**version**%7C0.9.1%7C%0A%7C**os**%7Clinux%7C%0A%7C**arch**%7Cx86_64%7C%0A
Should I open an issue on the determinate installer repository? Is there any Nix command which could check wether Nix is installed through other PM?
I’d just try its suggestion (rm /etc/systemd/system/nix-daemon.socket). It sounds like either the pm install or the other multi-user install you mentioned wasn’t completely cleaned up.
Thanks for your suggestions. Indeed, after rm /etc/systemd/system/nix-daemon.socket (twice, no idea why), the command nix --version gives nix (Nix) 2.13.3. However, whenever I open a terminal I still have the error message at the top: bash: /home/user/.nix-profile/etc/profile.d/nix.sh: No such file or directory. Would you know why/where to look?
Nice, ok! You didn’t say it, but after the rm calls you did run the determinate installer successfully, correct?
About your error, this is likely from a source line in some bashrc file, probably a leftover artifact from the old installation. There’s a few locations where this file could be sourced:
/etc/profile
/etc/bash.bashrc
~/.bashrc
~/.bash_profile
~/.bash_login
~/.profile
Please check for all those files if they exist, and if so, whether they contain a line like this: