unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: Lulu <me@erkin.party>, "guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: Re: First impressions from delving into Guix
Date: Sun, 11 Oct 2020 13:46:26 +0200	[thread overview]
Message-ID: <86d01pugrx.fsf@gmail.com> (raw)
In-Reply-To: <1674337602.21406.1602378860827@office.mailbox.org>

Dear,

Thank you for the feedback.


On Sun, 11 Oct 2020 at 04:14, Lulu <me@erkin.party> wrote:

> I've been navigating Guix for the past couple days. Here's how it
> went:

Nice!


> At first, I added a skeleton for `guix git log' by copying from
> `guix git authenticate'. It might be useful to have a generic template for Guix
> scripts, with conventions and all, by the way, because there isn't much in
> "(guix)Coding Style".

What do you mean?  What do you feel that is missing?


> I figured it would make things easier to use Guix System in a VM, so I booted
> the QCOW2 image using the given libvirt config in "(guix)Running Guix in a VM"
> (although there were some typos and grammar errors, maybe I should send a patch
> for them).

Neat!  Please raise the hand on #guix or guix-devel if you need help.

You could be interested by:

   <https://guix.gnu.org/manual/devel/en/guix.html#Submitting-Patches>


>            It worked without a hitch, but I got stumped when it came to
> configuration. I scanned through the info page to no avail. It's not exactly
> clear from the documentation that there are no configuration in the Unix sense,
> but rather single-use configuration scripts (which is admittedly really cool).
> I spent some time trying to find where the `operating-system' variable is
> defined, but people helpfully clarified in #guix that I need to make a script
> declaratively defining the setup I have in mind, then let Guix adapt itself to
> that automatically. Equipped with that knowledge, I decided I'm better off
> generating my own VM image once I have a better idea of what sort of Guix setup
> I want. It might be a good idea to clarify this in the info page.

Do you have a wording suggestion?


> Next, I went back to installing Guix normally on Arch Linux (I tried
> it on

AFAIK, it is always cumbersome to install Guix using other distro
package managers.  From my experience, it is easier to use the Binary
Script that Guix provides.


> Fedora previously and ran into SELinux issues). The AUR script is a
> bit wonky

If you have time, I would be interested by these issues; if you remember.


> due to dependencies so I just used the official binary installer. When
> I tried

Cool!

Then I am not following what you did if you used the Binary Script that
Guix provides for foreign distro.


> to bootstrap Guile, I ran into the problem that Guile 3.0 is unavailable.
> Indeed, Arch developers have been neglecting to add Guile 3.0 to the official
> repos. (Scheme is a bit neglected in this respect. The MIT/GNU Scheme package
> has been broken for a while as well.) So I got a build script off AUR (although
> I had to patch it because it tried to replace Guile 2.2, which breaks programs
> like `make' that are linked to libguile2.2) and built Guile.

What do you mean?  “guix show guile” lists all the available versions.

Which Guile have you patched?  The Guile that Arch provides, right?


> Now that I had a working Guix + Guile 3 setup, I ran into the seemingly common
> `setlocale' issue which was quickly solved by installing both `glibc-locales`
> /and/ `glibc-utf8-locales` (and updating them with each glibc update), then
> setting `$GUILE_LOCPATH' accordingly for both root and my user. I did a
> `guix pull' and everything was dandy.

The package ’glibc-utf8-locales’ is a subset of ’glibc-locales’.
Basically, ’glibc-utf8-locales’ provides these locales, only:

--8<---------------cut here---------------start------------->8---
                               ;; These are the locales commonly used for
                               ;; tests---e.g., in Guile's i18n tests.
                               '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR"))
--8<---------------cut here---------------end--------------->8---

So I am not convinced that the “and” is really required. ;-)  But “more
is less”. :-)


> With no more yaks to shave, I ran finished bootstrapping, ran the post install
> environment and my subcommand works! Now I can go back to add the functional
> parts of the script. I'll keep you updated!

Cool!

I suggest to read [1, 2, 3, 4, 5, 6, 7] and try to package something.
Easy and good candidates for first packages are CRAN or BioConductor
packages:

   guix import cran <pkg>
   guix import cran -a bioconductor <pkg>

You can pick unpackaged one from the list [8].  Do not hesitate to ask
me if you do not find an obvious one –– it should a good occasion to
show you “guix repl”. :-)


1: https://guix.gnu.org/manual/devel/en/guix.html#The-Perfect-Setup
2: https://guix.gnu.org/manual/devel/en/guix.html#Defining-Packages
3: https://guix.gnu.org/cookbook/en/html_node/Packaging-Tutorial.html#Packaging-Tutorial
4: https://guix.gnu.org/manual/devel/en/guix.html#Packaging-Guidelines
5: https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-import
6: https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-refresh
7: https://guix.gnu.org/manual/devel/en/guix.html#Building-from-Git
8: https://bioconductor.org/packages/release/bioc/


Again, thank you for your feedback.

Thanks,
simon


  parent reply	other threads:[~2020-10-11 11:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-11  1:14 First impressions from delving into Guix Lulu
2020-10-11 10:37 ` Pierre Neidhardt
2020-10-11 13:19   ` Lulu
2020-10-11 11:46 ` zimoun [this message]
2020-10-11 13:18   ` Lulu
2020-10-11 15:36     ` Julien Lepiller
2020-10-12 10:30       ` Lulu

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=86d01pugrx.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=me@erkin.party \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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