this post was submitted on 08 Jun 2026
8 points (100.0% liked)

Guix and GuixSD

233 readers
1 users here now

Community for all Guix and GuixSD users

founded 3 years ago
MODERATORS
 

I've been trying to begin a transition from NixOS to Guix, but I'm having a hard time finding where the different symbols referenced in the Guix/Guile manual are defined. For example, I want to use BTRFS on a LUKS-encrypted device, but I can't quite find what to #:use-module for the mapped-devices symbol. That is to say:

(file-system
  (device "/dev/mapper/cryptroot")
  (mount-point "/home")
  (type "btrfs")
  (options "subvol=home")
  (dependencies mapped-devices))

The mapped-devices above is an "unbound variable" (according to the errors). I still don't have this figured out, so how would others go about finding what to "import" since the official examples I'm looking at don't really tell me anything? (unless I'm blind, very likely!)

top 3 comments
sorted by: hot top controversial new old
[–] juipeltje@lemmy.world 1 points 1 month ago* (last edited 1 month ago) (1 children)

Do you actually have mapped-devices declared in your operating-system declaration anywhere? Cause i think that's what that variable is referring to instead of it coming from a different module. I don't use mapped-devices myself so not sure, but i have something similar in my swap-device configuration:

(swap-devices (list
  (swap-space
   (target "/swapfile")
   (dependencies (filter (file-system-mount-point-predicate "/")
                         file-systems)))))

In this snippet file-systems is referring to the file-systems field in my operating-system configuration, i think in your case it might be the same for mapped-devices.

[–] vepr_jako_pepr@slrpnk.net 1 points 1 month ago

yes i believe the way that records are set up, binds the fields of the records in the record scope as their set specifiers

[–] somegeek@programming.dev 1 points 1 month ago* (last edited 1 month ago)

I'm not sure about your specific problem but this is the guile-guix API reference

(But as another new guixer, I agree the docs are pretty confusing and hard to navigate)

https://guix.gnu.org/manual/1.5.0/en/html_node/Programming-Interface.html