No description
  • Shell 51.5%
  • Scheme 40.7%
  • Python 7.8%
Find a file
2026-07-19 10:21:41 +02:00
src Add compare-closure-sizes 2026-07-19 10:21:07 +02:00
.build.yml Add CI. 2023-09-22 14:12:17 +02:00
guix.scm Wrap send-for-review. 2023-11-01 10:54:18 +01:00
LICENSE Add LICENSE. 2023-09-22 12:29:31 +02:00
README.md Update README.md. 2023-11-02 19:28:08 +01:00
release.sh Fix release.sh. 2023-09-22 12:27:46 +02:00
VERSION Release v0.7.0. 2026-07-19 10:21:41 +02:00

Guix Dev Tools

builds.sr.ht status

This is a personal collection of scripts that I use to reduce the cognitive effort required to contribute to Guix.

The scripts

The scripts mostly automate the suggestions from the Guix manual sections about building from Git, the perfect setup and the contribution guidelines.

Examples

This is an example of building a local Guix checkout:

cd $GUIX_CHECKOUT
cfr && build

this is how you build a package after changing its definition:

build -K --no-grafts hello

this is how you send the second revision of a patchset to an existing Guix issue:

send-for-review -b master -d branch-name -i 66160 -r 2

These are all the options of send-for-review:

send-for-review --help
Usage: send-for-review [-b master]
                       [-d core-updates]
                       [-i 66844]
                       [-r 2]
                       [-s python-team]

Keywords:
  --base            -b  Base git reference.
  --head            -d  Head of the branch you want to send.
  --issue           -i  The Guix issue number you want to send the branch to.
  --revision        -r  The revision number of the patchset being sent.
  --subject-prefix  -s  An optional prefix added to the [PATCH] header.

Configuration

The only setup you need to do is somehow make available the GUIX_CHECKOUT variable in the environment where you'll use scripts from this project. One way of doing this could be adding it at the end of your .bashrc:

echo 'export GUIX_CHECKOUT="${HOME}/code/guix"' >> ~/.bashrc

or if you are a Guix Home user, you can add an environment variable definition to your home-environment.

This example assumes your local Guix checkout is located at ${HOME}/code/guix, but you can adjust it based on your needs.

Contributing

Unless otherwise stated all the files in this repository are to be considered under the GPL 3.0 or later terms. Contributions are welcome from anybody.