unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: help-guix@gnu.org, Satoru KURASHIKI <lurdan@gmail.com>
Subject: Re: about basic operation of guix sd
Date: Tue, 07 Apr 2020 12:30:11 -0400	[thread overview]
Message-ID: <DD3D568D-A187-4FDF-8453-90A61C3BBA12@lepiller.eu> (raw)
In-Reply-To: <CAM0xXk9g+YXxrHoeqrg6+8bvjXNymnOZ-E7vQcyADjnppW-LSA@mail.gmail.com>

Le 7 avril 2020 11:16:12 GMT-04:00, Satoru KURASHIKI <lurdan@gmail.com> 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,

  parent reply	other threads:[~2020-04-07 16:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-07 15:16 about basic operation of guix sd Satoru KURASHIKI
2020-04-07 16:27 ` Marius Bakke
2020-04-15 14:23   ` Satoru KURASHIKI
2020-04-07 16:30 ` Julien Lepiller [this message]
2020-04-15 14:23   ` Satoru KURASHIKI
2020-04-15 17:06     ` Julien Lepiller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DD3D568D-A187-4FDF-8453-90A61C3BBA12@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=help-guix@gnu.org \
    --cc=lurdan@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).