Hello Guix, currently, our configuration is (more or less true to XDG) scattered around various places. Even if one does not make use of more advanced features, one will at least have two profiles: - ~/.config/guix/current - ~/.guix-profile If one does have more configuration data, the channels.scm must be put under ~/$XDG_CONFIG_HOME/guix/. Note, that this need not be ~/.config/guix, but most likely is. If one wishes to use more than one profile, so as to keep the build times for each shorter, one has to write custom code and can not rely on /etc/profile.
This is a proposal to change the current approach. Instead of splitting Guix config in a way that tries to conform to XDG, but does not really, I propose to use a single directory ~/.guix for all configuration. This includes: - ~/.guix/channels.scm - ~/.guix/channels (instead of ~/.guix/current, to match the name channels.scm) - ~/.guix/profile - user-generated profiles /etc/profile would be rewritten to assume that all subdirectories of ~/.guix are profiles, but loading ~/.guix/channels at last, as is the current behaviour. In addition, the crucial variables, that are exported manually for #20255 and #24445 would also have to be taken into account here. I think, that these changes would make working with multiple profiles a lot easier, as all profiles in that directory would then be considered equal (with the exception of channels). Additionally, a command could be provided to operate on all profiles at once, to allow cumultative upgrades, roll-backs, etc. although that might as well be done through user scripts (that they could also put into ~/.guix). WDYT? Regards, Leo
