guix-devel
[Top][All Lists]
Advanced

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

Re: Multiple profiles with Guix Home


From: John Kehayias
Subject: Re: Multiple profiles with Guix Home
Date: Sun, 03 Oct 2021 20:51:20 +0000

Hello Liliana and Guix-ers,

I like this idea as a more integrated way of using multiple profiles in Guix, 
which I think is a unique and powerful feature of Guix. Having more first class 
citizen support of profiles I think is long overdue. Thanks for the proposal!

I'm curious about what else we can then build into this service that might help 
some of the issues around multiple profiles that have come up before. At the 
very least it seems this would be a good building block for doing operations 
where otherwise you'd have to do a bit of looping over profiles (as suggested 
in the Cookbook, and I think many of us do on our own) like updating packages.

There are also some issues that have been raised before that I think this could 
help address, so here are a few that I've seen that could have some relevance 
here. Mostly around search-paths and environment variables that get tricky with 
multiple profiles active. Perhaps not all relevant, but I wanted to 
cross-reference some related (to me, at least) discussions around multiple 
profile support in Guix:

Recently, we discussed this in the context of some environment variables like 
XDG_DATA_DIRS, and the more elusive XDG_CONFIG_DIRS here 
https://issues.guix.gnu.org/50103  The issues is with search-paths and 
different profiles (e.g. needing a glib package to make sure XDG_DATA_DIRS gets 
updated). With a more integrated approach to multiple profiles, could this help 
with combined search-paths?

Older, with dbus: https://issues.guix.gnu.org/48538  Here there is a hardcoded 
default user profile lookup 
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/xorg.scm#n851

Finally, I think this proposal subsumes the old discussion on 
https://issues.guix.gnu.org/20255  and I think would be more "canonical" with 
Guix Home now part of Guix.

Anyway, Guix Home does look like a good fit for better profile support and 
these related edge cases with profiles. I'll just summarize my current usage of 
profiles, which I think others do as well as it comes from the Cookbook. I have 
several profiles for different sets of packages, like "desktop," "emacs," and 
so on, with the default ~/.guix-profile being a testing ground or to quickly 
use something (temporarily or before moving into a profile). ~/.config/guix has 
a profiles directory to store each of these and a manifests directory to store 
the manifests for each. I use a simple bash loop to e.g. guix package for each 
profile to update with the manifest, or guix gc to clean up.

Hope this is helpful for this discussion,
John



reply via email to

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