I recently installed Guix, and I must admit I'm feeling somewhat lost. My goal is to not run `guix package -i` manually, but have a scheme file with my entire system configuration in it, and run `guix package -f /path/to/that/file` to install the programs I want on my computer. I think what I want to start with is here ( http://www.gnu.org/software/guix/manual/guix.html#Programming-Interface), but I'm not sure. Looking at it is somewhat confusing, for a few reasons. I'm going to list what I see when reading this in hopes that the documentation can be improved. 1. It starts by discussing how to "define new packages". I would expect that I would only want to *use* packages, and that this would be done by the person adding the package to the software repository. 2. The example given looks like a very complicated way of installing a simple package. There are many properties I don't care about when I'm installing software (homepage, synopsis /and/ description), and things I don't want to care about (arguments, inputs, build-system). To install a package on the command line, it's something simple like "apt-get install emacs". To use Guix, I have to write a 20-line program with a bunch of settings? 3. It goes on to discuss importing other people's package definitions ( http://www.gnu.org/software/guix/manual/guix.html#Invoking-guix-import). But it doesn't say how to do this in a Scheme file. I want my setup to be in a Scheme file, not in a bunch of commands I have to manually run. 4. It discusses running `guix build` to use the package definitions. This appears to be different than `guix package -i`, but I'm at a loss to say how. Am I missing a useful page somewhere in the documentation? Do I have some wrong assumptions about how Guix is used? Thanks for any help. -Zachary