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

Reply via email to