diff options
-rw-r--r-- | system/nix/README | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/system/nix/README b/system/nix/README index dcfdc6383e72..8e3152761d66 100644 --- a/system/nix/README +++ b/system/nix/README @@ -1,22 +1,23 @@ nix (functional package manager) -Nix is a purely functional package manager. This means that it treats packages -like values in purely functional programming languages such as Haskell -- they -are built by functions that don't have side-effects, and they never change -after they have been built. Nix stores packages in the Nix store, usually the -directory /nix/store, where each package has its own unique subdirectory such -as +Nix is a purely functional package manager. This means that it treats +packages like values in purely functional programming languages +such as Haskell -- they are built by functions that don't have +side-effects, and they never change after they have been built. Nix +stores packages in the Nix store, usually the directory /nix/store, +where each package has its own unique subdirectory such as /nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-33.1/ -where b6gvzjyb2pg0... is a unique identifier for the package that captures all -its dependencies (it's a cryptographic hash of the package's build dependency -graph). +where b6gvzjyb2pg0... is a unique identifier for the package that +captures all its dependencies (it's a cryptographic hash of the +package's build dependency graph). -Nix may be run in single or multi-user mode (which requires the nix-daemon). -The following sets up multi-user mode. +Nix may be run in single or multi-user mode (which requires the +nix-daemon). The following sets up multi-user mode. -To have the nix daemon start and stop with your host, add to /etc/rc.d/rc.local: +To have the nix daemon start and stop with your host, add to +/etc/rc.d/rc.local: if [ -x /etc/rc.d/rc.nix ]; then /etc/rc.d/rc.nix start @@ -28,23 +29,23 @@ and to /etc/rc.d/rc.local_shutdown (creating it if needed): /etc/rc.d/rc.nix stop fi -The daemon requires users for building the nix packages, which should be added -under the 'nixbld' group. +The daemon requires users for building the nix packages, which should +be added under the 'nixbld' group. # groupadd -g 314 nixbld # for n in $(seq 1 10); do useradd -c "Nix build user $n" \ - # -d /var/empty -g nixbld -G nixbld -M -N -r -s "$(which nologin)" \ + # -d /var/empty -g nixbld -G nixbld -M -N -r -s /sbin/nologin \ # nixbld$n; done -Restricting access to the daemon is acheived by setting file permissions for -the daemon's socket's folder. +Restricting access to the daemon is acheived by setting file +permissions for the daemon's socket's folder. # groupadd nix-users # chgrp nix-users /nix/var/nix/daemon-socket # chmod ug=rwx,o= /nix/var/nix/daemon-socket -Correct permissions must also be set for the following profile directories to -give users access. +Correct permissions must also be set for the following profile +directories to give users access. # mkdir -p /nix/var/nix/profiles/per-user # chgrp nix-users /nix/var/nix/profiles/per-user @@ -54,8 +55,8 @@ give users access. # chgrp nix-users /nix/var/nix/gcroots/per-user # chmod go+wt /nix/var/nix/gcroots/per-user -For setup a user to use nix, add him to the nix-users group and load these -lines on login (via $HOME/.profile): +To setup a user to use nix, add him to the nix-users group and load +these lines on login (via $HOME/.profile): export NIX_REMOTE=daemon source /etc/profile.d/nix.sh |