Subject: Replacement variables in guix-daemon.service

From: Ido Yariv <[email-masked]>
Date: Thu, 8 May 2025 08:54:58 -0400

Hi,

It appears guix-daemon.service leaks some replacement variables defined in
guix-daemon.service.in, e.g.:
--8<---------------cut here---------------start------------->8---
Environment='GUIX_STATE_DIRECTORY=/var/guix'
'GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale'
LC_ALL=en_US.utf8

# Run under a dedicated unprivileged user account.
User=guix-daemon

# Bind-mount the store read-write in a private namespace, to counter the
# effect of 'gnu-store.mount'.
PrivateMounts=true
BindPaths=@storedir@
--8<---------------cut here---------------end--------------->8---

>From what I can tell, it looks like the replacement is done by nix/local.mk
(as
opposed to self.scm), and the sed script there doesn't include all
variables,
nor is it replacing matched patterns globally.

Thanks,
Ido.