diff options
| author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2026-01-24 23:28:50 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2026-01-26 10:18:35 +0100 |
| commit | 28ce4eae6b22ce566b0d35f6d7f408599a79c505 (patch) | |
| tree | a4007dba0c14e29b681fbe6e8f426459e04bc1c6 | |
| parent | b989e0138e1684df4d043af813a96fba73dd8c8c (diff) | |
doc: cookbook: Update for unprivileged guix-daemon execution.
* doc/guix-cookbook.texi (Setting Up a Head Node): Add note about unprivileged
guix-daemon. Remove ‘--build-users-group=guixbuild’ flag from ‘.service’
snippets. Mention “systemd timer” next to “crontab entry”.
Change-Id: I72ac59d3ce8a5572dbeb8cb4c7764a8478f6e1ee
| -rw-r--r-- | doc/guix-cookbook.texi | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index eea1f96bf1b..a08ad1d740f 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi | |||
| @@ -22,7 +22,7 @@ Copyright @copyright{} 2020 André Batista@* | |||
| 22 | Copyright @copyright{} 2020 Christine Lemmer-Webber@* | 22 | Copyright @copyright{} 2020 Christine Lemmer-Webber@* |
| 23 | Copyright @copyright{} 2021 Joshua Branson@* | 23 | Copyright @copyright{} 2021 Joshua Branson@* |
| 24 | Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* | 24 | Copyright @copyright{} 2022, 2023 Maxim Cournoyer@* |
| 25 | Copyright @copyright{} 2023-2025 Ludovic Courtès@* | 25 | Copyright @copyright{} 2023--2026 Ludovic Courtès@* |
| 26 | Copyright @copyright{} 2023 Thomas Ieong@* | 26 | Copyright @copyright{} 2023 Thomas Ieong@* |
| 27 | Copyright @copyright{} 2024 Florian Pelz@* | 27 | Copyright @copyright{} 2024 Florian Pelz@* |
| 28 | Copyright @copyright{} 2025 45mg@* | 28 | Copyright @copyright{} 2025 45mg@* |
| @@ -5958,6 +5958,15 @@ installation instructions (@pxref{Binary Installation,,, guix, GNU Guix | |||
| 5958 | Reference Manual}). Thanks to the installation script, this should be | 5958 | Reference Manual}). Thanks to the installation script, this should be |
| 5959 | quick. Once installation is complete, we need to make some adjustments. | 5959 | quick. Once installation is complete, we need to make some adjustments. |
| 5960 | 5960 | ||
| 5961 | @quotation Note | ||
| 5962 | Starting from Guix version 1.5.0, @command{guix-daemon} runs without | ||
| 5963 | root privileges by default; previously installed systems can also be | ||
| 5964 | migrated to this ``rootless'' mode (@pxref{Build Environment Setup,,, | ||
| 5965 | guix, GNU Guix Reference Manual}). Learn more about this change in a | ||
| 5966 | @uref{https://hpc.guix.info/blog/2025/03/build-daemon-drops-its-privileges/, | ||
| 5967 | 2025 blog post}. | ||
| 5968 | @end quotation | ||
| 5969 | |||
| 5961 | Since we want @code{guix-daemon} to be reachable not just from the head | 5970 | Since we want @code{guix-daemon} to be reachable not just from the head |
| 5962 | node but also from the compute nodes, we need to arrange so that it | 5971 | node but also from the compute nodes, we need to arrange so that it |
| 5963 | listens for connections over TCP/IP. To do that, we'll edit the systemd | 5972 | listens for connections over TCP/IP. To do that, we'll edit the systemd |
| @@ -5972,13 +5981,12 @@ something like this: | |||
| 5972 | @ifnothtml | 5981 | @ifnothtml |
| 5973 | @example | 5982 | @example |
| 5974 | ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon \ | 5983 | ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon \ |
| 5975 | --build-users-group=guixbuild \ | ||
| 5976 | --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0 | 5984 | --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0 |
| 5977 | @end example | 5985 | @end example |
| 5978 | @end ifnothtml | 5986 | @end ifnothtml |
| 5979 | @ifhtml | 5987 | @ifhtml |
| 5980 | @example | 5988 | @example |
| 5981 | ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0 | 5989 | ExecStart=/var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --listen=/var/guix/daemon-socket/socket --listen=0.0.0.0 |
| 5982 | @end example | 5990 | @end example |
| 5983 | @end ifhtml | 5991 | @end ifhtml |
| 5984 | 5992 | ||
| @@ -6027,7 +6035,7 @@ avoids collecting software they refer to. | |||
| 6027 | It may be a good idea to periodically remove unused bits from | 6035 | It may be a good idea to periodically remove unused bits from |
| 6028 | @file{/gnu/store} by running @command{guix gc} (@pxref{Invoking guix | 6036 | @file{/gnu/store} by running @command{guix gc} (@pxref{Invoking guix |
| 6029 | gc,,, guix, GNU Guix Reference Manual}). This can be done by adding a | 6037 | gc,,, guix, GNU Guix Reference Manual}). This can be done by adding a |
| 6030 | crontab entry on the head node: | 6038 | systemd timer or a crontab entry on the head node: |
| 6031 | 6039 | ||
| 6032 | @example | 6040 | @example |
| 6033 | root@@master# crontab -e | 6041 | root@@master# crontab -e |
