From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Prikler Subject: Collect guix profiles in single directory. Date: Mon, 23 Dec 2019 11:59:45 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:37803) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ijLRO-0005I6-H8 for guix-devel@gnu.org; Mon, 23 Dec 2019 05:59:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ijLRM-0002ND-Qv for guix-devel@gnu.org; Mon, 23 Dec 2019 05:59:57 -0500 Received: from mailrelay.tugraz.at ([129.27.2.202]:32246) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ijLRM-0002BH-9C for guix-devel@gnu.org; Mon, 23 Dec 2019 05:59:56 -0500 Received: from nijino.local (194-96-95-16.hdsl.highway.telekom.at [194.96.95.16]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 47hGZp4TTdz1LWp9 for ; Mon, 23 Dec 2019 11:59:46 +0100 (CET) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org 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