Hey folks, Lately I've been wanting to version control the list of packages that I install in my user profile so that I can sync it amongst many machines. So, I took a stab at adding a new '--apply' option to 'guix package' that reads in a package list from a Scheme file and creates a new generation of the profile with only those packages are installed. Here's an example configuration: (use-modules (gnu)) (use-package-modules base less guile emacs admin ruby mail pumpio man) (list ruby coreutils less man-db notmuch guile-2.0 emacs dmd offlineimap pumpa) Below is a naive patch that does the job, but is unideal because it doesn't do some nice things like display the diff between generations before building. I'm looking for some guidance to make this option mesh better with the rest of the 'guix package' utility. Any help is appreciated.