From 9a78e760762c1d93369e765bdce12388e1662ec6 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Mon, 22 Dec 2025 16:48:12 +0100 Subject: [PATCH] guix-daemon.service.in: Make service restartable. 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): Stop gnu-store.mount (Service): Start gnu-store.mount Change-Id: I296f5d8805497f8a7364b68d627eb6d4fc05dbff --- etc/guix-daemon.service.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in index 88929fa904e..869bc4dc0b6 100644 --- a/etc/guix-daemon.service.in +++ b/etc/guix-daemon.service.in @@ -14,6 +14,12 @@ ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daem --substitute-urls='@GUIX_SUBSTITUTE_URLS@' Environment='GUIX_STATE_DIRECTORY=@localstatedir@/guix' 'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8 +# Stop the gnu-store.mount so that the daemon can capture the store as +# read-write in its private mount namespace. +# See . +ExecStartPre=-+systemctl stop gnu-store.mount +ExecStartPost=-+systemctl start gnu-store.mount --no-block + # Run under a dedicated unprivileged user account. User=guix-daemon