help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SystemD & Symbolic Links


From: Leo Famulari
Subject: Re: SystemD & Symbolic Links
Date: Mon, 26 Dec 2016 22:48:44 -0500
User-agent: Mutt/1.7.2 (2016-11-26)

On Mon, Dec 26, 2016 at 03:14:42PM -0800, Hilco Wijbenga wrote:
> Hi all,

Welcome!

> I would like to use GUIX to organise my home directory but
> unfortunately when I install GUIX it does not work because SystemD
> (228 in my case) refuses to allow symlinks.

Systemd didn't support symlinked unit files until version 231:

https://github.com/systemd/systemd/commit/f777b4345e8c57e739bda746f78757d0fb136ac7

> Specifically, "systemctl enable guix-daemon" fails with "Failed to
> execute operation: Too many levels of symbolic links" (see [1]). Is
> there a workaround for this? I suppose I could simply copy
> guix-daemon.service into /etc/systemd/system instead of linking to it
> but I'm not sure how many other things will fail because of this
> symlink limitation.

I recommend copying the service file as you suggested. It's exactly what
I do on Debian, both before systemd 231 and after, and it works fine for
me.

If the ExecStart value contains a path to '/gnu/store/...', you should
replace that path with
'/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon'.

Using the absolute path to /gnu/store only works properly if the service
file is a symlink to root's profile, in which case the executable path
would get updated as root updates their packages. My suggested
replacement will have the same effect.

If you do that, make sure to recreate the rest of the ExecStart value
after the path to the guix-daemon.

PS What OS are you using? I'm wondering if it's too early to rely on
systemd 231 being widely deployed.

PPS It's "Guix", without all capital letters :)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]