[Top][All Lists]

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

Re: How to declare symlinks in the configuration?

From: Marek Paśnikowski
Subject: Re: How to declare symlinks in the configuration?
Date: Wed, 17 May 2023 06:50:29 +0000

Felix Lechner <>:

> Hi Marek,
> On Tue, May 16, 2023 at 4:15 AM Marek Paśnikowski
> wrote:
> > How can I declare symbolic links in the system configuration?
> > In this specific case, I wish to be able to declare the following link:
> > ~/.config/guix/channels.scm -> ~/src/izumi/channels.scm
> folks—I'm in recovery.) It's also possible that I misunderstood your
> question.

You have.  I wish to be able to declare symlinks,
because my goal is to craft a common core configuration for
all of my future GUIX installations.
A part of this is automation of tasks,
such as redirection of Channel configuration source.
I have a strategy to keep all of my configuration in a single GIT repository.

> A symbolic link is a symbolic link. You can create it with
> $ ln -s ~/src/izumi/channels.scm ~/.config/guix/channels.scm

This is a workaround, and my aim is to pre-program as much as possible.

> > I wish, however, to be able to define arbitrary files in the future,
> I believe Guix Home can do that for you. I currently only use the
> capability for Bash [4] (which I hardly use anymore). I look forward
> to improving my Guix Home setup and perhaps even learning from what
> you find out.
> The author of Guix Home, Andrew Tropin, even tied it into configuring
> Emacs via something called 'rde'. There too, I am behind the times.

I know of those.  I just wished to able to declare symlinks in operating-system.
I am starting to think, that this function is not yet implemented.

I am actually thinking of promoting the literate configuration style,
once I have my first system more or less defined.
You can have a look at my previous question on this list,
regarding filesystem labels, to see the previous state of the art.

> > I think the Manual chapter about G-expressions does include the answer,
> Somehow, I doubt it. G-Expressions are an abstraction for the Guix
> build system. It is necessary because the build environment is
> different from the one in which you run Guix. I think you need
> G-Expressions only when you package software.
> > but the instructions are written on an abstraction level
> > not accessible to my current understanding.
> I believe you are experiencing a "fight or flight" response. At its
> core, Guix is a simple and trusted friend. It just gets complicated
> (and a bit symbolic) along the way.

It is nothing like that - I just know that I have yet to learn this.
After another reading I did understand that G-exps allow me
to declare most arbitrary files, just not symlinks...

My conclusion is to have yet another workaround and just live with this.

reply via email to

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