Browse Source


pjotrp 2 years ago
  1. 40
  2. 21
  3. 19


@ -0,0 +1,40 @@
* Guix Channels
Guix channels allow for out-of-tree (that is the Guix repo) packages,
including distribution of non-free software (which we recommend
against installing, but then reality sometimes is not nice). Note that
this page is not related to the GNU project (see below).
Check out:
- [[][NonGuix]] is a software repository for the GNU Guix package
manager, which packages some software which cannot be included in
the official distribution for ethical or policy-related reasons.
For Bioinformatics and HPC
- Guix package definitions used at
Medical Systems Biology, The Berlin Institute for Medical Systems
Biology (BIMSB)
- Guix packages used at
Univeristy Medical Center Utrecht (UMCU)
Guix packages used by University of Tennessee Health Science Center
(UTHSC) and
- Guix packages for the variation
graph (VG and vgtools)
These packages can be installed using GNU Guix by adding Guix
If you use non-free software *PLEASE do NOT promote* these
repositories on any official GNU Guix communication channels, such as
their mailing lists or IRC channel, even in response to support
requests! This is to show respect for the Guix project’s strict policy
against recommending nonfree software, and to avoid any unnecessary
Before using these channel, you should understand the implications of
using nonfree software. Read [[][What is free software?]] for more
information. Do note that we also have free software on these channels
which may not have gone upstream for other reasons.


@ -1654,9 +1654,27 @@ $46 = ("source" #<origin "
Guix makes extensive use of [[][records]]. You can update a record with
In guix/derivations.scm
Update field in derivation
scheme@(guix-user) [104]> ,use (srfi srfi-9 gnu)
scheme@(guix-user) [104]> (set-field drv (derivation-file-name) "TST")
$72 = #<derivation TST => /gnu/store/wd9fcab8pzc8l8bbw958yxa1hmfh0irk-ruby-2.5.3 31f1140>
* Hints
@ -1863,6 +1881,9 @@ is removed from the main package tree and therefore not easily shared
and integrated and (2) to remain compatible you need to juggle two git
trees which may go out of synch.
Also take a look at guix 'channels' which acts has more advanced
options for sharing packages out of tree.
* Create a caching server
The Guix daemon contains a build server. It also can distribute built binaries.


@ -241,11 +241,8 @@ garbage collected later).
you may want to restart the daemon after a successful upgrade.
Health warning: at this point 'guix pull' is considered a liability
for two reasons
1. You don't know what you get even if it is considered 'latest'
2. Guix pull runs over http and is not considered safe
Guix pull has options to fetch older versions of the tree using a git
HASH. There is also guix 'timemachine' you can explore.
* Use guix as a normal user
@ -995,6 +992,16 @@ export GIT_SSL_CAINFO="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt${GI
export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs${SSL_CERT_DIR:+:}$SSL_CERT_DIR"
If that does not work try emptying the environment first with
#+begin_src bash
env -i /bin/bash --login --noprofile --norc
export GIT_SSL_CAINFO="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt${GIT_SSL_CAINFO:+:}$GIT_SSL_CAINFO"
export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs${SSL_CERT_DIR:+:}$SSL_CERT_DIR"
git pull
** guix pull: error: Git error: the SSL certificate is invalid
Solution, see above X.509 certificate error
@ -1020,7 +1027,7 @@ installing guix in a profile and setting the LOAD PATHS, e.g.:
: guix package -i guix -p ~/opt/guix
#+BEGIN_SRC bash
export GUILE_LOAD_PATH=~/opt/guix/share/guile/site/2.2/
export GUILE_LOAD_COMPILED_PATH=~/opt/guix/share/guile/site/2.2/