123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- GNU Guix provides state-of-the-art package management features such as
- transactional upgrades and roll-backs, reproducible build environments,
- unprivileged package management, and per-user profiles. It uses low-level
- mechanisms from the Nix package manager, but packages are defined as
- native Guile modules, using extensions to the Scheme language -- which
- makes it nicely hackable.
- Guix may be run in single or multi-user mode (which requires the
- guix-daemon). To have the guix daemon start and stop with your host,
- add to /etc/rc.d/rc.local:
- if [ -x /etc/rc.d/rc.guix ]; then
- /etc/rc.d/rc.guix start
- fi
- and to /etc/rc.d/rc.local_shutdown (creating it if needed):
- if [ -x /etc/rc.d/rc.guix ]; then
- /etc/rc.d/rc.guix stop
- fi
- The daemon requires users for building the guix packages, which should
- be added under the 'guixbuild' group.
- groupadd -g 316 guixbuild
- for i in `seq -w 1 10`; do
- useradd -G guixbuild \
- -d /var/empty -s `which nologin` \
- -c "Guix build user $i" -u 316 -g 316 \
- guixbuilder$i;
- done
- Restricting access to the daemon to only users in the guixbuild group
- is acheived by setting file permissions for the daemon's socket's folder.
- chgrp guixbuild /var/guix/daemon-socket
- chmod ug=rwx,o= /var/guix/daemon-socket
- Correct permissions must also be set for /var/guix/profiles to give
- users access.
- By default guix will compile in /tmp, this can be changed by exporting
- $TMPDIR. Guix will also by default store its packages in /gnu/store, to
- save space in the root partition /gnu can be mounted on another partition.
- Guix can either be built with the nix-daemon instead of the default
- guix-daemon or along side nix sharing the same store, both require nix
- as an optional dependency. To build with the nix-daemon use NIX="yes"
- and to share the store with nix use SHARE="yes".
- guile-json is an optional dependency and will allow you to use the 'guix
- import pypi' command. It is of interest primarily for developers and
- not for casual users.
|