[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: about basic operation of guix sd
From: |
Marius Bakke |
Subject: |
Re: about basic operation of guix sd |
Date: |
Tue, 07 Apr 2020 18:27:43 +0200 |
User-agent: |
Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
Hi Satoru, and welcome to Guix! I hope you will enjoy your stay. :-)
Satoru KURASHIKI <address@hidden> writes:
> hi,
>
> I happen to know Guix SD recently, and trying to tinkering it.
FYI the 'SD' name has been deprecated in favor of 'Guix System'.
> 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...
>
> 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
Syncing /gnu/store will not work without also syncing /var/guix/db. I
think what you want to do is on host1 run 'guix publish' as you already
found, and on host2 you can then use 'guix install foo
--substitute-urls="https://host1 https://ci.guix.gnu.org"' to get
substitutes from both host1 and the Guix CI infrastructure.
See https://guix.gnu.org/manual/en/guix.html#Invoking-guix-publish for a
more complete explanation.
To do this through the configuration system, you need
'guix-publish-service-type' and adjusting the 'substitute-urls' field of
'guix-service-type'.
> - 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?
After cloning the Guix repository, you can run Guix directly from the
checkout using the "./pre-inst-env" script: see the Contributing
section of the manual for how to configure a development environment:
https://guix.gnu.org/manual/en/guix.html#Contributing
Another alternative is to use 'guix pull --url=/your/cloned/repository'.
> - 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?
You can get completion and jumping through Geiser, but I don't have
instructions at hand. Hopefully some of the Emacs gurus can chime in
here. :-)
signature.asc
Description: PGP signature