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.