2016-04-17 6:15 GMT+02:00 Zachary Kanfer <[email protected]>:

> 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.
>


Running "guiy package -i ..."

is for the binary installation. That is when you install guix as a package
in a previously existing hosting system

Otherwise, you can install GuixSD and it offers exaclty what Gyou want.

You can have a scheme file specifying the disk layout, the users, the
services and so on and that's what will be installed

You probably want to start from these instructions to have it installed
https://www.gnu.org/software/guix/manual/html_node/System-Installation.html

Then, when you wiill want to arrange a scheme file with the list of
packages to be installed, you can come back here ;-)

>
>
> 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.
>

Not necessarily. Arranging the build of a package can be demanding. Way
more demanding that just using the package. So it's not settled that the
person using the package will be the one who has prepared it for the
distribution

The user most commonly will install packages provided by others.
Volunteers, mainly


>
> 2. The example given looks like a very complicated way of installing a
> simple package.
>

That's exactly what I wrote. Those instructions are not aimed to casual
users wanting to USE a package. They are meant for the volunteers who
arrange the build of a package, so making it available to ALL the users of
the distribution


> 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?
>

No ;-)

You just "guix package -i emacs" both on GuixSD AND on the binary
installation

Properties and inputs are needed for building packages, not for using them
(not that knowing abiut those in detrimental, though)

Anyway, if your model is

"apt-get install emacs"

I don't see why

"guix package -i emacs"

is so unsatisfying to you. They are not dramatically different


>
> 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.
>

The instructions about how to import other people definitions, are exactly
meant to edit a scheme file ;-)

Only, that scheme file is not made to install a package. It's made to build
it


> 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.
>

The first builds a package based on a definition written in scheme

The second installs an already built package ;-)


> 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.
>

I don't know about the documentation. As for wrong assumptions I hope I
have made things a bit clearer ;-)

Reply via email to