|
|
@@ -10,8 +10,8 @@ It provides [[https://www.gnu.org/software/guile/][Guile]] Scheme APIs, includin |
|
|
|
domain-specific languages (EDSLs) to describe how packages are to be |
|
|
|
built and composed. |
|
|
|
|
|
|
|
A user-land free software distribution for GNU/Linux comes as part of |
|
|
|
Guix. |
|
|
|
GNU Guix can be used on top of an already-installed GNU/Linux distribution, or |
|
|
|
it can be used standalone (we call that “Guix System”). |
|
|
|
|
|
|
|
Guix is based on the [[https://nixos.org/nix/][Nix]] package manager. |
|
|
|
|
|
|
@@ -75,37 +75,17 @@ the promise of a build; it is stored as a text file under |
|
|
|
`derivation' primitive, as well as higher-level wrappers such as |
|
|
|
`build-expression->derivation'. |
|
|
|
|
|
|
|
Guix does remote procedure calls (RPCs) to the Guix or Nix daemon (the |
|
|
|
=guix-daemon= or =nix-daemon= command), which in turn performs builds |
|
|
|
and accesses to the Nix store on its behalf. The RPCs are implemented |
|
|
|
in the (guix store) module. |
|
|
|
|
|
|
|
* Installing Guix as non-root |
|
|
|
|
|
|
|
The Guix daemon allows software builds to be performed under alternate |
|
|
|
user accounts, which are normally created specifically for this |
|
|
|
purpose. For instance, you may have a pool of accounts in the |
|
|
|
=guixbuild= group, and then you can instruct =guix-daemon= to use them |
|
|
|
like this: |
|
|
|
|
|
|
|
$ guix-daemon --build-users-group=guixbuild |
|
|
|
|
|
|
|
However, unless it is run as root, =guix-daemon= cannot switch users. |
|
|
|
In that case, it falls back to using a setuid-root helper program call |
|
|
|
=nix-setuid-helper=. That program is not setuid-root by default when |
|
|
|
you install it; instead you should run a command along these lines |
|
|
|
(assuming Guix is installed under /usr/local): |
|
|
|
|
|
|
|
# chown root.root /usr/local/libexec/nix-setuid-helper |
|
|
|
# chmod 4755 /usr/local/libexec/nix-setuid-helper |
|
|
|
Guix does remote procedure calls (RPCs) to the build daemon (the =guix-daemon= |
|
|
|
command), which in turn performs builds and accesses to the store on its |
|
|
|
behalf. The RPCs are implemented in the (guix store) module. |
|
|
|
|
|
|
|
* Contact |
|
|
|
|
|
|
|
GNU Guix is hosted at https://savannah.gnu.org/projects/guix/. |
|
|
|
|
|
|
|
Please email <bug-guix@gnu.org> for bug reports or questions regarding |
|
|
|
Guix and its distribution; email <gnu-system-discuss@gnu.org> for |
|
|
|
general issues regarding the GNU system. |
|
|
|
Please email <help-guix@gnu.org> for questions and <bug-guix@gnu.org> for bug |
|
|
|
reports; email <gnu-system-discuss@gnu.org> for general issues regarding the |
|
|
|
GNU system. |
|
|
|
|
|
|
|
Join #guix on irc.freenode.net. |
|
|
|
|
|
|
|