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!)

all 3 comments

sorted by: hot top controversial new old
[–] 1 point 5 months ago* (1 child)

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.

  • source
  • hideshow 1 child comment
  • [–] 1 point 5 months 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

  • source