help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: about basic operation of guix sd


From: Julien Lepiller
Subject: Re: about basic operation of guix sd
Date: Tue, 07 Apr 2020 12:30:11 -0400
User-agent: K-9 Mail for Android

Le 7 avril 2020 11:16:12 GMT-04:00, Satoru KURASHIKI <address@hidden> a écrit :
>hi,
>
>I happen to know Guix SD recently, and trying to tinkering it.

Hi, welcome to the guix project :) btw, we call it the Guix System now, not SD 
anymore ;)

>I've just managed to "guix init" on my new box, and have questions
>about its operations.
># excuse: I looked over the guix manual, but may be overlooking
>clues...

Nice, well done :)

>Please tell me any of FAQ, Howto, list thread, blog, sample code, or
>gist, which would answer:
>
>- How to unify personal substitutes?
>  - "guix publish" will serve the substitutes built on that host, and
>I want to add substitutes
>    of another host's
>  - Is this work as expected? : rsync /gnu/store to repository host to
>merge substitutes

I think this is a bad idea, because it might break assumptions of the 
mathematical model guix relies on. Not sure how to sync two stores 
automatically. The "guix copy" command can be used to do that manually. Note 
that guix publish will publish your whole /gnu/store, independently of how 
items were obtained.

If you use guix publish for things that were not built on the official build 
farm, you need to have a look at guix --archive to generate key pairs and 
authorize your personal substitute server. For items that were built on the 
official build farm, it is enough to authorize the build farm, because these 
items will be detected as identical, even if they come from a different source.

>- The right way of treating guix code (or guile code structure?)
>  - I have to clone guix repo into my home directory?
>    - Though "guix pull" should have source tree anywhere (in
>/gnu/store?), so are there any interfaces
>      to access them through guix-daemon?
>  - I want to tweak existing code (package definition)
>    - I should copy target file to somewhere working directory to edit
>      or edit target file in the project tree?

The manual has a section "the perfect setup" that should explain everything if 
you want to contribute.

Guix pull is indeed more or less a wrapper around git pull. The repository is 
available in the store, but because of the mathematical model, it is read-only 
and must not be modified. You can still use "guix edit foo" to open the package 
definition of foo in your favorite editor.

If this is not for a contribution, the next best thing you can do is create a 
channel that allows you to share your modifications (or you can keep them 
private, but share them between your computers). 

Note that the guix-daemon is only there to build and download packages, it 
doesn't know anything about available packages, etc. Your guix command does. 
That allows each user on your system to customize the set of available packages.

As a vim user, I will leave the following question unanswered :). I hope I 
could help a little.

>- Emacs setup (to edit guix configuration)
>  - I want something like:
>    - i.e. M-x guix-describe-variables to view document of guix
>keywords and jump to its definition
>    - C-x C-e to evaluate variables (to confirm its values)
>    - guix keyword completion
>    - Some linter (flymake/flycheck thing)
>  - emacs-guix seems to be "guix" command wrapper, so I guess
>configuring geiser will make it?
>
>regards,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]