Repository navigation
Open
Labels
Description
Platform
- [ X ] Linux: Debian 13, x86_64, Linux 6.12.115+deb13.1-amd64
- macOS
- WSL
Additional information
No special circumstances
Output
❯ curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install | sh -s -- --daemon
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 4499 100 4499 0 0 5048 0 --:--:-- --:--:-- --:--:-- 5048
downloading Nix 2.35.4 binary tarball for x86_64-linux from 'https://releases.nixos.org/nix/nix-2.35.4/nix-2.35.4-x86_64-linux.tar.xz' to '/tmp/nix-binary-tarball-unpack.rpDAl4sBZ9'...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 25.9M 100 25.9M 0 0 18.6M 0 0:00:01 0:00:01 --:--:-- 18.6M
Note: a multi-user installation is possible. See https://nix.dev/manual/nix/stable/installation/installing-binary.html#multi-user-installation
Switching to the Multi-user Installer
Welcome to the Multi-User Nix Installation
This installation tool will set up your computer with the Nix package
manager. This will happen in a few stages:
1. Make sure your computer doesn't already have Nix. If it does, I
will show you instructions on how to clean up your old install.
2. Show you what I am going to install and where. Then I will ask
if you are ready to continue.
3. Create the system users (uids [30001..30032]) and groups (gid 30000)
that the Nix daemon uses to run builds. To create system users
in a different range, exit and run this tool again with
NIX_FIRST_BUILD_UID set.
4. Perform the basic installation of the Nix files daemon.
5. Configure your shell to import special Nix Profile files, so you
can use Nix.
6. Start the Nix daemon.
Would you like to see a more detailed list of what I will do?
No TTY, assuming you would say yes :)
I will:
- make sure your computer doesn't already have Nix files
(if it does, I will tell you how to clean them up.)
- create local users (see the list above for the users I'll make)
- create a local group (nixbld)
- install Nix in /nix
- create a configuration file in /etc/nix
- set up the "default profile" by creating some Nix-related files in
/root
- back up /etc/bashrc to /etc/bashrc.backup-before-nix
- update /etc/bashrc to include some Nix configuration
- back up /etc/zshrc to /etc/zshrc.backup-before-nix
- update /etc/zshrc to include some Nix configuration
- back up /etc/bash.bashrc to /etc/bash.bashrc.backup-before-nix
- update /etc/bash.bashrc to include some Nix configuration
- load and start a service (at /etc/systemd/system/nix-daemon.service
and /etc/systemd/system/nix-daemon.socket) for nix-daemon
Ready to continue?
No TTY, assuming you would say yes :)
---- let's talk about sudo -----------------------------------------------------
This script is going to call sudo a lot. Normally, it would show you
exactly what commands it is running and why. However, the script is
run in a headless fashion, like this:
$ curl -L https://nixos.org/nix/install | sh
or maybe in a CI pipeline. Because of that, I'm going to skip the
verbose output in the interest of brevity.
If you would like to
see the output, try like this:
$ curl -L -o install-nix https://nixos.org/nix/install
$ sh ./install-nix
~~> Checking for artifacts of previous installs
Before I try to install, I'll check for signs Nix already is or has
been installed on this system.
---- Nix config report ---------------------------------------------------------
Temp Dir: /tmp/tmp.8b94ZIoNt2
Nix Root: /nix
Build Users: 32
Build Group ID: 30000
Build Group Name: nixbld
build users:
Username: UID
nixbld1: 30001
nixbld2: 30002
nixbld3: 30003
nixbld4: 30004
nixbld5: 30005
nixbld6: 30006
nixbld7: 30007
nixbld8: 30008
nixbld9: 30009
nixbld10: 30010
nixbld11: 30011
nixbld12: 30012
nixbld13: 30013
nixbld14: 30014
nixbld15: 30015
nixbld16: 30016
nixbld17: 30017
nixbld18: 30018
nixbld19: 30019
nixbld20: 30020
nixbld21: 30021
nixbld22: 30022
nixbld23: 30023
nixbld24: 30024
nixbld25: 30025
nixbld26: 30026
nixbld27: 30027
nixbld28: 30028
nixbld29: 30029
nixbld30: 30030
nixbld31: 30031
nixbld32: 30032
Ready to continue?
No TTY, assuming you would say yes :)
~~> Setting up the build group nixbld
Created: Yes
~~> Setting up the build user nixbld1
useradd warning: nixbld1's uid 30001 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 1
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld2
useradd warning: nixbld2's uid 30002 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 2
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld3
useradd warning: nixbld3's uid 30003 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 3
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld4
useradd warning: nixbld4's uid 30004 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 4
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld5
useradd warning: nixbld5's uid 30005 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 5
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld6
useradd warning: nixbld6's uid 30006 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 6
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld7
useradd warning: nixbld7's uid 30007 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 7
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld8
useradd warning: nixbld8's uid 30008 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 8
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld9
useradd warning: nixbld9's uid 30009 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 9
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld10
useradd warning: nixbld10's uid 30010 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 10
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld11
useradd warning: nixbld11's uid 30011 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 11
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld12
useradd warning: nixbld12's uid 30012 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 12
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld13
useradd warning: nixbld13's uid 30013 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 13
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld14
useradd warning: nixbld14's uid 30014 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 14
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld15
useradd warning: nixbld15's uid 30015 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 15
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld16
useradd warning: nixbld16's uid 30016 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 16
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld17
useradd warning: nixbld17's uid 30017 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 17
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld18
useradd warning: nixbld18's uid 30018 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 18
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld19
useradd warning: nixbld19's uid 30019 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 19
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld20
useradd warning: nixbld20's uid 30020 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 20
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld21
useradd warning: nixbld21's uid 30021 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 21
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld22
useradd warning: nixbld22's uid 30022 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 22
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld23
useradd warning: nixbld23's uid 30023 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 23
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld24
useradd warning: nixbld24's uid 30024 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 24
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld25
useradd warning: nixbld25's uid 30025 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 25
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld26
useradd warning: nixbld26's uid 30026 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 26
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld27
useradd warning: nixbld27's uid 30027 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 27
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld28
useradd warning: nixbld28's uid 30028 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 28
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld29
useradd warning: nixbld29's uid 30029 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 29
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld30
useradd warning: nixbld30's uid 30030 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 30
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld31
useradd warning: nixbld31's uid 30031 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 31
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the build user nixbld32
useradd warning: nixbld32's uid 30032 is greater than SYS_UID_MAX 999
Created: Yes
Hidden: Yes
Home Directory: /var/empty
Note: Nix build user 32
Logins Disabled: Yes
Member of nixbld: Yes
PrimaryGroupID: 30000
~~> Setting up the basic directory structure
install: creating directory '/nix'
install: creating directory '/nix/var'
install: creating directory '/nix/var/log'
install: creating directory '/nix/var/log/nix'
install: creating directory '/nix/var/log/nix/drvs'
install: creating directory '/nix/var/nix'
install: creating directory '/nix/var/nix/db'
install: creating directory '/nix/var/nix/gcroots'
install: creating directory '/nix/var/nix/profiles'
install: creating directory '/nix/var/nix/temproots'
install: creating directory '/nix/var/nix/userpool'
install: creating directory '/nix/var/nix/daemon-socket'
install: creating directory '/nix/var/nix/gcroots/per-user'
install: creating directory '/nix/var/nix/profiles/per-user'
install: creating directory '/nix/store'
install: creating directory '/etc/nix'
~~> Installing Nix
Alright! We have our first nix at /nix/store/8lza1b8nnci8lmm4q68p0l33pg975s0q-nix-2.35.4
Just finished getting the nix database ready.
~~> Setting up shell profiles: /etc/bashrc /etc/profile.d/nix.sh /etc/zshrc /etc/bash.bashrc /etc/zsh/zshrc
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix
# Nix
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
fi
# End Nix
# System-wide .bashrc file for interactive bash(1) shells.
# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.
# If not running interactively, don't do anything
[ -z "${PS1-}" ] && return
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(< /etc/debian_chroot)
fi
# set a fancy prompt (non-color, overwrite the one in /etc/profile)
# but only if not SUDOing and have SUDO_PS1 set; then assume smart user.
if ! [ -n "${SUDO_USER-}" -a -n "${SUDO_PS1-}" ]; then
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
# ;;
#*)
# ;;
#esac
# enable bash completion in interactive shells
#if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
#fi
# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "%s: command not found\n" "$1" >&2
return 127
fi
}
fi
~~> Setting up shell profiles for Fish with conf.d/nix.fish inside /etc/fish /usr/local/etc/fish /opt/homebrew/etc/fish /opt/local/etc/fish
~~> Setting up the default profile
installing 'nix-2.35.4'
building '/nix/store/pah449n1nfcdzdakbg7ah3p12bgl5lzl-user-environment.drv'...
installing 'nix-manual-2.35.4-man'
building '/nix/store/yir75spl505dl0x6w9bpc5z0xd73ywh3-user-environment.drv'...
unpacking 1 channels...
~~> Setting up the nix-daemon systemd service
Created symlink '/etc/systemd/system/nix-daemon.service' → '/nix/var/nix/profiles/default/lib/systemd/system/nix-daemon.service'.
Created symlink '/etc/systemd/system/nix-daemon.socket' → '/nix/var/nix/profiles/default/lib/systemd/system/nix-daemon.socket'.
Created symlink '/etc/systemd/system/sockets.target.wants/nix-daemon.socket' → '/nix/var/nix/profiles/default/lib/systemd/system/nix-daemon.socket'.
Alright! We're done!
Try it! Open a new terminal, and type:
$ nix-shell -p nix-info --run "nix-info -m"
Thank you for using this installer. If you have any feedback or need
help, don't hesitate:
You can open an issue at
https://github.com/NixOS/nix/issues/new?labels=installer&template=installer.md
Or get in touch with the community: https://nixos.org/community
---- Reminders -----------------------------------------------------------------
[ 1 ]
Nix won't work in active shell sessions until you restart them.
THEN, IN ANOTHER TERMINAL:
❯ nix-shell -p nix-info --run "nix-info -m"
Segmentation fault
Checklist
- [ X ] checked latest Nix manual (source)
- [ X ] checked open installer issues and pull requests for possible duplicates
- [ X ] reviewed the contributing guide
Add 👍 to issues you find important.
Activity
xokdvium commentedon Nov 6, 2026
Can you provide more details, like a coredump / backtrace? Anything special about your environment like LD_LIBRARY_PATH e.t.c. ?