From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Julien Lepiller <julien@lepiller.eu>
Cc: guix-devel@gnu.org
Subject: Re: Updates on the guix home manager
Date: Fri, 20 Sep 2019 20:50:16 +0900 [thread overview]
Message-ID: <87h8576vbb.fsf@gmail.com> (raw)
In-Reply-To: <20190919232257.671511bb@sybil.lepiller.eu> (Julien Lepiller's message of "Thu, 19 Sep 2019 23:22:57 +0200")
Hi Julien!
Julien Lepiller <julien@lepiller.eu> writes:
> Hi Guix!
>
> I've recently been working a bit on my guix home manager
> (https://framagit.org/tyreunom/guix-home-manager). The guix home
> manager is taking the guix philosophy one step further: after
> environment management, package management and operating system
> management, here is the tool for managing your configuration files.
> This tool will help you declare your home configuration, instead of
> statefully mutating your files. Because applications tend to install
> stuff anywhere in your $HOME, the directory is completely taken over by
> guix and replaced by a symlink to a profile, which makes it read-only.
> It means applications will not be able to create or change files, and
> ensures that your configuration always stays the same. Guix home
> manager brings the benefits of guix to your home directory: roll backs,
> atomic updates, declarativity... It is however still a work in progress
> and more of an experiment. That is why I keep it in a separate channel.
That sounds really good! It might be a good replacement to my current
use of GNU Stow. I'll try it. It'll be also my first real use of a
Guix channel.
[...]
> My version of services introduce the notion of an extension point: all
> three terminal services would implement a color-theme extension point
> that could be targeted by another service. When it targets an
> extension point, a service does not need to specify what service is
> extended. In that case, no service is implicitely instantiated, and any
> service with that extension point is extended. This is exactly what we
> want to do here: by using the extension point, without specifying a
> target service, both gnome and xfce4 terminal configurations are
> updated with your color theme, and mate-terminal-home-type is not
> instantiated.
That indeed sounds convenient! The alternative would be to explicitly
list every other "services" that must be extended? That has the merit
to be explicit (and already available in Guix?), but could quickly
become burdensome, I guess.
> This kind of extension could also be useful for the web service example
> we have seen: by creating an extension point in the nginx and apache
> services, the web service could extend that extension point with a
> value that would be translated into a server block or a virtual host,
> depending on which server is installed. However, it does not work well
> when no server is installed (because none is implicitely instantiated)
> or when both are installed (they will both serve the same domain on the
> same port).
As I read this I'm thinking it'd be desirable to extend what's already
in Guix rather than having lots of duplicated code. I'll let other more
knowledgeable about services to chip in about whether the new "service
point" idea could be integrated in Guix proper.
Thanks for this interesting work :-)
Maxim
next prev parent reply other threads:[~2019-09-20 11:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-19 21:22 Updates on the guix home manager Julien Lepiller
2019-09-20 9:31 ` Thorsten Wilms
2019-09-20 14:39 ` Julien Lepiller
2019-09-20 11:50 ` Maxim Cournoyer [this message]
2019-09-24 7:56 ` Ludovic Courtès
2019-09-25 9:41 ` Konrad Hinsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87h8576vbb.fsf@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=guix-devel@gnu.org \
--cc=julien@lepiller.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).