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!)
Do you actually have
mapped-devicesdeclared in youroperating-systemdeclaration 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-systemsis referring to the file-systems field in my operating-system configuration, i think in your case it might be the same formapped-devices.yes i believe the way that records are set up, binds the fields of the records in the record scope as their set specifiers
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



