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