From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: SystemD & Symbolic Links Date: Mon, 26 Dec 2016 22:48:44 -0500 Message-ID: <20161227034844.GA14923@jasmine> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44881) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cLiku-00047p-25 for help-guix@gnu.org; Mon, 26 Dec 2016 22:48:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cLikq-0000Un-5m for help-guix@gnu.org; Mon, 26 Dec 2016 22:48:52 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:50327) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cLikq-0000Uc-13 for help-guix@gnu.org; Mon, 26 Dec 2016 22:48:48 -0500 Content-Disposition: inline In-Reply-To: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Hilco Wijbenga Cc: help-guix@gnu.org 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 :)