Micron Document
Guix WTF

background

Guix home configuration involves a T383838.scm file full of Scheme that describes a T383838home-config containing a T383838home-environment where the T383838home-environment contains (among other details) the T383838packages that the user wants in addition to what's defined to exist in the system configuration. To create such a package enumeration, the modules containing the packages have to be imported by way of T383838use-module.

problem

I was trying to figure out what module to include in my T383838guix-home-config.scm so that I could use T383838make.

I could temporarily use T383838make by doing T383838guix shell make which led me to believe that the package name was T383838make.

After several internet searches and random guesses that weren't helpful, I fetched the Guix source and started grepping.

In NixOS it was T383838gnumake, so I had previously tried both T383838make and T383838gnumake as the terms in the T383838packages list in hopes it would give me a hint from the compiler and ask if I forgot to use-module on the actual name. To further complicate this, everything else I had looked at in the source had a package name for what it was, but T383838make had the name of T383838make. And then right before that was some T383838define-public gnu-make a few lines up that I didn't know how to interpret. So even after I found the damn file it took a while before I tried the right combination of terms.

solution

I had to do a use-module on T383838gnu packages base so that I could include T383838gnu-make in my T383838packages list.

Here's my complete configuration so far:

(define-module (guix-home-config)
#:use-module (gnu home)
#:use-module (gnu home services)
#:use-module (gnu home services shells)
#:use-module (gnu home services dotfiles)
#:use-module (gnu services)
#:use-module (gnu packages version-control) ;; for git
#:use-module (gnu packages tmux)
#:use-module (gnu packages rust-apps) ;; for bat
#:use-module (gnu packages base) ;; for make
#:use-module (gnu system shadow))

(define home-config
(home-environment
(packages (list git tmux bat gnu-make))
(services
(append
(list
(service home-dotfiles-service-type
(home-dotfiles-configuration
(directories '("./dots"))))
(service home-bash-service-type)

(service home-files-service-type
(".guile" ,%default-dotguile)
(".Xdefaults" ,%default-xdefaults)))
)

%base-home-services))))

home-config

Tags: index, guix

Tags
Navigation





created: 2026-04-17

updated: 2026-04-18 05:19:05

(re)generated: 2026-07-17