From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id kIGKBJJeVGBVYgAA0tVLHw (envelope-from ) for ; Fri, 19 Mar 2021 08:19:30 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id cEyJAJJeVGB0NQAA1q6Kng (envelope-from ) for ; Fri, 19 Mar 2021 08:19:30 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 90C1F156A6 for ; Fri, 19 Mar 2021 09:19:29 +0100 (CET) Received: from localhost ([::1]:53020 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lNALw-00023x-Op for larch@yhetil.org; Fri, 19 Mar 2021 04:19:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lNALe-00023o-2U for guix-devel@gnu.org; Fri, 19 Mar 2021 04:19:10 -0400 Received: from mail-qk1-x72b.google.com ([2607:f8b0:4864:20::72b]:41728) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lNALa-0006F9-Lm for guix-devel@gnu.org; Fri, 19 Mar 2021 04:19:09 -0400 Received: by mail-qk1-x72b.google.com with SMTP id v70so2032831qkb.8 for ; Fri, 19 Mar 2021 01:19:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=trop-in.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SDQNjinQ4TMYUGF4FWIthh7NtAMd3Dw09zbzmsXkHog=; b=uazV4NjP3Cu1aMdE2+ViekPbSfEaBm+AYRR9wTqviQnO1NXVGoBhezEMm62Qp2zPVB PP1zEHBPx5znnak5YWHSL+e3pmjkFxWQbTELjYuxB42I5erIfRE5ln0HzoZ1JVQnQrr9 Vh6jbaowwybsjep9I37BMn3K0fPOcF42qZ9ndz1YhSU8eXoDf+/RwobnHxrth5dgJKa9 4oeG671KN2NWp8xAMAVJWo0a8DfRi7fO/asG+SZCmmmny5tLLpEAc+3xTAe6weWKsXST fT7E21IFgMI19GIi6B9ziDBhvDvtH4ALGaM1OAn84gIenb1CXFkwdc1/wdrufrREc4JK 5Bfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SDQNjinQ4TMYUGF4FWIthh7NtAMd3Dw09zbzmsXkHog=; b=EY5OzXYrP+lM6pxu3npNY2MRrKnodYuTPK7iD7aVejIYW+tMk/cUGJWI1DXHzGKtZ6 a2hNJo0Mu/shxaPpJirmM1plbvjAhe9Qxg0K/VvxCQ3BywBjg2hY1Ys9DSFq0AeyDbii Fs3OjGMDcMRhz5RExzw0pYcspcayd2MeJoqnXZRtQdd4I5RVjp+ClMpVnVUelUZ3zem1 b1I5FrFhWoxghsIQxV7Yz3q+p5oPepaitXy3juuOrXjXZoTPd5JKXTh4q1RJa3/g/oae FRtwU3mOwQX/pGZCptL255Ds/HYvHQEdsSEfqbNi5PF+2sKYu5smpp1WpYNLMEknyFDv vdGQ== X-Gm-Message-State: AOAM532IKL4/tNd4Hj4h7I7mUxHSJInK+mL6JeucCkd4GXPod7PFhBP6 V32rAlR9sonWGQHzHXIpQwwYL+ztBjNBWPZjc0nudg== X-Google-Smtp-Source: ABdhPJyk+y2a1zSVXnrxSqHugmXV+MjjSpqDitPg2ZisbKcRoZ6sL0lKgq+QAsQBhzk5vdgKboTMHq4qQIRD/hR/5O8= X-Received: by 2002:a37:ac10:: with SMTP id e16mr8529984qkm.314.1616141944125; Fri, 19 Mar 2021 01:19:04 -0700 (PDT) MIME-Version: 1.0 References: <878s6u2pco.fsf@trop.in> <87pn00e4xn.fsf@gnu.org> <831CF304-5776-49F3-90E2-26D145C175F3@lepiller.eu> In-Reply-To: <831CF304-5776-49F3-90E2-26D145C175F3@lepiller.eu> From: Andrew Tropin Date: Fri, 19 Mar 2021 11:18:53 +0300 Message-ID: Subject: Re: guix home To: Julien Lepiller Content-Type: text/plain; charset="UTF-8" Received-SPF: none client-ip=2607:f8b0:4864:20::72b; envelope-from=andrew@trop.in; helo=mail-qk1-x72b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Development of GNU Guix and the GNU System distribution Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1616141969; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=SDQNjinQ4TMYUGF4FWIthh7NtAMd3Dw09zbzmsXkHog=; b=IWGJDJa1kC1GYgR4fTCbr3K1/ti018L8lCqnDG2SUjEhFwDJJOOV4wGxvDl6Ciequn9e4X hQWTrdZG4TyBpSZlwKLMcquhbJTe04ohoQts+X3eoBPpWCBSdlJp2QtY6/AAqK6GOIgmDZ CwGDb9qI8cNjkh3NJiWNQ27NF8bprJveTzn7bub2iAGxaKtagIKSidY9VkUrHZvwarBZf8 mtc1GyxdxK0R1dxMc71stmRyjgQKcfabmGW/9xgUjGyy10Q+UC8+noNGuwmX3qoRFMRHO0 mQsW3OVqNVSyq7TNslpT70X5iQU9Lh3bqQSz4GQlU0n7vhI2Fnd/zpEYW9DsNQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1616141969; a=rsa-sha256; cv=none; b=a3zPu3gZ0eleyWsVwvdA6D0BSw9C3F4BZP76X00V9iuj41vj7+sOiCUt3zQU9e8P7jGRM4 3J0c/GM68gfu3+L4mzZMyIHENA7tB5+1Rpnidb5Kz9PFQz1E2dVrNMLDKokC9c+mHSaIc3 T9OfoNq09IoPjc6OtQPgn+EZ7hp0ml3PDeufm7A0zBd+f2v5F1reXIc9U+piPIGerlqEr8 tAUT4wqvSihXco1zaZDkBVzEutMHoOolRBSf8bv3Q2lViQUwG6c6kKlH0VusfqoR1haS1H 8p6dpY90+sFkbxFL20GrbDI9zRzqNseRAI6tXt9gX+demq6ZSUzTu29vNR7s1w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop-in.20150623.gappssmtp.com header.s=20150623 header.b=uazV4NjP; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -1.41 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=trop-in.20150623.gappssmtp.com header.s=20150623 header.b=uazV4NjP; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 90C1F156A6 X-Spam-Score: -1.41 X-Migadu-Scanner: scn0.migadu.com X-TUID: GogJfY0Q+gDm Hi Julien, very glad to see you here!) > Obviously I'm not a big fan of having configuration that can be modified > after I ran guix home, but I understand this approach sounds less crazy > :). I think both approaches have a lot more in common than they diverge, > so merging one in guix is just one step away of merging the other :) > > Having a read-only home is a fun experiment (that have been going since > I started guix-home-manager, so it's definitely possible), but a bit > broken, and I keep poking holes for software I can't manage properly. I really like the idea of strict separation of configuration and state, and read-only home sounds like a rational solution to me, however it's not a step in the right direction, but a leap, which not possible for many even advanced users right now. I considered many options like read-only home, read-only ~/.config and few others, but decided that the transition to a new tool for most people should be iterative and as smooth as possible. It will help to grow and educate the community before exposing them to smart and great, but very unusual approaches. Thus, targeted symlinking is more a social decision rather than technical. Configs itself remain immutable, but can be mixed with files managed by user or other software. > Also, I had this grand vision of using "extension points" in services, > which might be useful to have in Guix. Though I never ended up using > them in any meaningful way ^^'. I have a small write-up on the topic [fn:1]. From time to time I feel restricted by service extension mechanism, I know use cases where some improvements to the mechanism will be beneficial, but for now I would say they are statistically insignificant and can be workarounded with other tools. `guix home` propose the evolutionary approach here too, we stick with what we have in guix system service extension mechanism, make a tool to be a part of the guix, grow user base, collect use cases hard to solve with current capabilities, make a decision based on collected data to improve/modify extension mechanism, which affects both `guix system` and `guix home`. Otherwise, we can face a problem of integration gap, which won't be solved in years. > Merging either of our work will make it more visible and attract more > users/contributors, that would be great! If we settle with Andrew's > approach, I'd be glad to provide my own services, but I will also > probably add something to get back my dear read-only home, because > that's the intellectually superior approach, albeit broken ;) As I said earlier I endorse and support all the good ideas and would like to see them in `guix home`, keeping a space for users to allow them making one small step at a time towards wonderful world of declarative configurations, not giant leap) Appreciate all your ideas and the work you did on the project, I learned quite a lot from it! * Footnotes [fn:1] https://lists.sr.ht/~abcdw/rde-devel/%3C87sg56g97i.fsf%40trop.in%3E