I’m using Guix for a couple years now and with addition of superb guix home
one can finally have control over the dotfiles.
- put dotfiles under version control, to be symlinked to proper places
- put data files in a dedicated directory (/storage), symlink them as well
- define declarative guix home-environment to set up user’s profile and do the symlinking
- symlink from /storage using home-activation-service-type
- register configs in home-files-service-type, they’ll get to the store and will be symlinked by guix home in an activation script
- literate config for doom emacs
- use noweb-ref tangling to create emacs-home.scm
- tangle helper scripts
- config + helpers + guix packages, everything is located in one place