SlackBuilds Repository

15.0 > System > nix (2.17.2)

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).

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:

if [ -x /etc/rc.d/rc.nix ]; then
/etc/rc.d/rc.nix start
fi

and to /etc/rc.d/rc.local_shutdown (creating it if needed):

if [ -x /etc/rc.d/rc.nix ]; then
/etc/rc.d/rc.nix stop
fi

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 /sbin/nologin \
# nixbld$n; done

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.

# mkdir -p /nix/var/nix/profiles/per-user
# chgrp nix-users /nix/var/nix/profiles/per-user
# chmod go+wt /nix/var/nix/profiles/per-user

# mkdir -p /nix/var/nix/gcroots/per-user
# chgrp nix-users /nix/var/nix/gcroots/per-user
# chmod go+wt /nix/var/nix/gcroots/per-user

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

To use mdBook, install the "mdbook" dependency.
If desired to build using it:

# MDBOOK="yes" ./nix.SlackBuild

If you have patches email me, or send a pull request via github:

https://github.com/RSKYS/SBo-git/tree/15/nix/system/nix

This requires: graphviz, libeditline, lowdown, jq, nlohmann_json, toml11, libcpuid

Maintained by: Pouria Rezaei
Keywords: package manager,nix
ChangeLog: nix

Homepage:
http://nixos.org/nix

Source Downloads:
nix-2.17.2.tar.gz (5302a2937911fdf389cffbf7508eccd4)

Download SlackBuild:
nix.tar.gz
nix.tar.gz.asc (FAQ)

(the SlackBuild does not include the source)

Individual Files:
README
config
doinst.sh
nix.SlackBuild
nix.info
slack-desc

Validated for Slackware 15.0

See our HOWTO for instructions on how to use the contents of this repository.

Access to the repository is available via:
ftp git cgit http rsync

© 2006-2025 SlackBuilds.org Project. All rights reserved.
Slackware® is a registered trademark of Patrick Volkerding
Linux® is a registered trademark of Linus Torvalds