summaryrefslogtreecommitdiff
path: root/etc/guix-daemon.service.in
AgeCommit message (Collapse)AuthorFilesLines
2025-12-22guix-daemon.service.in: Make service restartable.Rutherther1-0/+6
Currently the service cannot be restarted, because the gnu store mount makes it read-only. So fix this by removing the mount when starting the service. "-" to accept failures, in case the command doesn't finish successfully, chances are, the store can be mounted as RW, so continue. "+" to run as root Fixes: #4744 * etc/guix-daemon.service.in (Service)<ExecStartPre>: Stop gnu-store.mount (Service)<ExecStartPost>: Start gnu-store.mount Change-Id: I296f5d8805497f8a7364b68d627eb6d4fc05dbff
2025-08-29etc: guix-daemon.service.in: Mitigate mount race conditionIngar1-0/+4
This mitigates a race condition described in #576. The 'Type=exec' option ensures that systemd only starts follow-up units after the guix-daemon binary has started. By then, the mount points are collected in a private namespace and will not be affected. Without this option, 'gnu-store.mount' could win the race and remount everything read-only before guix-daemon has acquired a read-write view. Fixes #2270 * etc/guix-daemon.service.in: Mitigate mount race condition Change-Id: I5d28ebc38b0c10e6d2aa8e65353757ef13d5bad3 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-07-01etc: guix-daemon.service.in: Disable host filesystem mount propagation.Ivan Popovych1-0/+3
This fixes issue for rootless guix daemon where store being remounted read-only by gnu-store.mount is propagated to the guix daemon making guix daemon not able to modify it. * etc/guix-daemon.service.in: Disable host filesystem mount propagation. Change-Id: Ib1abc387ee15d2b04d6f70c121244943cd0ad8c6 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-03-26etc: systemd services: Run ‘guix-daemon’ as an unprivileged user.Ludovic Courtès1-2/+20
* etc/guix-daemon.service.in (ExecStart): Remove ‘--build-users-group’. (Environment): Add ‘GUIX_STATE_DIRECTORY’. (Before, User, AmbientCapabilities, PrivateMounts, BindPaths): New fields. * etc/gnu-store.mount.in (Before): Remove. (WantedBy): Change to ‘multi-user.target’. Change-Id: Id826b8ab535844b6024d777f6bd15fd49db6d65e
2024-06-26etc: Add explicit ‘--substitute-urls’ in guix-daemon service files.Ludovic Courtès1-1/+2
Having substitute URLs explicitly listed in the service startup file makes it clearer what should be modified to permanently change the list of substitute URLs. * config-daemon.ac: Rename ‘guix_substitute_urls’ to ‘GUIX_SUBSTITUTE_URLS’ and substitute it. * nix/local.mk (etc/guix-%.service, etc/init.d/guix-daemon) (etc/guix-%.conf): Substitute it. * etc/guix-daemon.conf.in, etc/guix-daemon.service.in, etc/init.d/guix-daemon.in: Add an explicit ‘--substitute-urls’ option. Change-Id: Ie491b7fab5c42e54dca582801c03805a85de2bf9
2024-03-11etc: systemd services: switch to "journal" for output and error logging.Vagrant Cascadian1-2/+2
The "syslog" method has been deprecated for years, and issues a warning: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether. Fixes: #48323 * etc/guix-daemon.service.in (StandardOutput): Use "journal" (StandardError): Likewise. * etc/guix-publish.service.in (StandardOutput): Likewise. (StandardError): Likewise.
2022-10-23etc: systemd services shouldn't ‘RemainAfterExit’.Tobias Geerinckx-Rice1-1/+0
* etc/guix-daemon.service.in (RemainAfterExit): Don't. * etc/guix-publish.service.in (RemainAfterExit): Likewise don't.
2022-10-23etc: Add ‘Restart=always’ to both systemd services.Tobias Geerinckx-Rice1-0/+3
* etc/guix-daemon.service.in (Restart): ‘Always’ do. * etc/guix-publish.service.in (Restart): Likewise.
2022-10-23etc: Add ‘OOMPolicy=continue’ to guix-daemon.service.Tobias Geerinckx-Rice1-0/+4
* etc/guix-daemon.service.in (OOMPolicy): Continue.
2021-07-07guix-install.sh: Prompt for configuring substitutes discovery.Maxim Cournoyer1-1/+2
Also ensure prompt_yes_no always print the message with a trailing space, which is more pleasing to the eye. * etc/guix-daemon.conf.in <--discover=no>: New guix-daemon option. * etc/guix-daemon.service.in: Likewise. * etc/init.d/guix-daemon.in: Likewise. * etc/openrc/guix-daemon.in: Likewise. * etc/guix-install.sh (configure_substitute_discovery): New procedure. (sys_enable_guix_daemon): Ask the user whether automatic substitute discovery should be enabled. Set the '--discover' argument accordingly. (prompt_yes_no): Add a trailing space to the message. (sys_authorize_build_farms): Remove trailing space from the message argument. * NEWS (Distribution): Add news.
2019-06-05etc: guix-daemon.service.in: Fix GUIX_LOCPATH quoting.Jack Hill1-1/+1
Fixes <https://bugs.gnu.org/36074>. * etc/guix-daemon.service.in: Move the GUIX_LOCPATH environment variable name inside the quotes. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2019-05-13Set 'LC_ALL=en_US.utf8' in systemd '.service' files.Ludovic Courtès1-1/+1
Fixes <https://bugs.gnu.org/35671>. * etc/guix-daemon.service.in (Environment): Quote the 'GUIX_LOCPATH' value; add 'LC_ALL'. * etc/guix-publish.service.in (Environment): Likewise.
2018-11-23build: Binary tarball now populates the "current-guix" profile.Ludovic Courtès1-2/+2
* Makefile.am (guix-binary.%.tar.xz): Pass '--profile-name=current-guix'. Remove glibc and glibc-utf8-locales. * doc/guix.texi (Binary Installation): Update accordingly. * etc/guix-install.sh * etc/guix-install.sh (sys_create_store, sys_enable_guix_daemon) (sys_authorize_build_farms): Likewise. * etc/guix-publish.conf.in, etc/guix-publish.service.in, etc/guix-daemon.conf.in, etc/guix-daemon.service.in: Update file names accordingly.
2017-04-22Increase "TasksMax" in 'guix-daemon.service'.Sergei Trofimovich1-1/+3
* etc/guix-daemon.service.in (TasksMax): Increase to 8192. Signed-off-by: Leo Famulari <leo@famulari.name>
2017-03-06build: Don't embed absolute paths in .service and .conf service files.Leo Famulari1-1/+1
Otherwise, users will be stuck running an old copy of guix and the guix-daemon if they copy the service files instead of symlinking them. * etc/guix-daemon.conf.in, etc/guix-daemon.service.in, etc/guix-publish.conf.in, etc/guix-publish.service.in: Expand @localstatedir@ instead of @bindir@. * nix/local.mk (etc/guix-%.service, etc/guix-%.conf): Use @localstatedir@ instead of @bindir@.
2016-07-18Set "GUIX_LOCPATH" in 'guix-daemon.service'.Ricardo Wurmus1-0/+1
Suggested by Thomas Danckaert <thomas.danckaert@gmail.com>. * etc/guix-daemon.service.in (Environment): New value.
2016-04-25Add "TasksMax=1024" in 'guix-daemon.service'.Ludovic Courtès1-0/+3
Suggested by Joram Schrijver <i+guix-devel@joram.io>. * etc/guix-daemon.service.in (TasksMax): New value.
2015-07-15Add 'guix-daemon.service' file for systemd.Ludovic Courtès1-0/+15
* etc/guix-daemon.service.in: New file, provided by Ricardo Wurmus. * daemon.am (CLEANFILES): Add etc/guix-daemon.service. (systemdservicedir, nodist_systemdservice_DATA): New variables. (EXTRA_DIST): Add etc/guix-daemon.service.in. * doc/guix.texi (Binary Installation, Build Environment Setup): Mention 'guix-daemon.service'.