Hi Guix, as we all are more or less aware of, Guix automates quite much of the user's configuration for comfortably hacking on our codebase. As has been argued elsewhere, both by myself and fellow Guix, this is not always a good thing.
Let's start with the cleanest example of how to do things the right way: Our Emacs configuration is split across two files (one of which is a directory, but let's get back to that). One of them are the directory-local variables stored in .dir-locals.el, the other the snippets in etc/snippets–if you're using YASnippet, the former loads the latter. I have no qualms with this being automated, as Emacs itself gives me plenty opportunity of opting out of it. I could declare any of the included variables or forms unsafe and ignore them in future sessions. Likewise, I can mark them as safe to affirm my consent that these variables be changed in /path/to/guix/checkout. None of this holds for the git config, which we install unasked in the working tree with a DATA target that we want neither distributed nor installed otherwise. This has led to confusion both in the mailing lists and the IRC on multiple occasions, so I'd propose we instead use PHONY targets for: 1. git-hooks to install the git hooks that committers need. 2. git-config to install all of the git config a. git-config-diff to just install the diff xfuncs b. git-config-format to just install the format block c. git-config-pull to just install the pull block d. git-config-sendemail to just install the sendemail block 3. git-fullconfig for both 1 and 2. Internally, these would still be based on the actual file names to get time-stamps to work. Thus, on a fresh pull or if you haven't pulled in a while, you can run either `git fullconfig` or any of the above to set things up. Incidentally, my .git/config currently reads the following: [include] path = ../etc/git/gitconfig path = ../etc/git/gitconfig path = ../etc/git/gitconfig path = ../etc/git/gitconfig So clearly, automatically hooking up these configurations could be done more cleanly :) WDYT?