Hi,

whk via <[email protected]> writes:

> On 2/2/26 23:22, whk via wrote:
>> I have a couple of questions on using dependencies in confg.scm 
>> file-system definitions.
>> ...
>>
>>  * How do I specify that 'mount-point "/"' is required before mounting
>>    'mount-point "/mnt/ioSafeDuo"'?
>>
>>  * How do I specify specific mapped-device entries as dependencies for
>>    different file-system entries (e.g. cryptroot for "/" and
>>    ioSafeDuo0{1|2}Data for "/mnt/ioSafeDuo")?
>>
> I think I solved the second question by defining the mapped-devices and 
> putting the variables in both mapped-devices and the file-system dependency.
>
> I tried the same idea with file-system but when I uncomment 
> %my-file-system-root from the dependency a 'guix system reconfigure' 
> returns an error "guix system: error: service 
> 'file-system-/mnt/ioSafeDuo' requires 'file-system-/', which is not 
> provided by any service"
>
> Is this the right approach and what am I missing to specify a 
> file-system as a dependency?

Root file system is an implicit dependency of all other file systems. Do
not specify it manually as a dependency. It is handled specially by the
system.

Rutherther

>
> Current config:
>
>     ...
>     (define %my-mapped-device-cryptroot
>        (mapped-device
>          (source (uuid
>                   "10d6c832-f8c5-45df-b11f-6119a85de83f"))
>          (target "cryptroot")
>          (type luks-device-mapping)))
>     (define %my-mapped-device-ioSafeDuoD1Data
>        (mapped-device
>          (source (uuid
>                   "c85979d2-a080-41dc-8ac1-373975ead97f"))
>          (target "ioSafeDuoD1Data")
>          (arguments '(#:key-file "/etc/luks.secrets/ioSafeDuo.key"))
>          (type luks-device-mapping)))
>     (define %my-mapped-device-ioSafeDuoD2Data
>        (mapped-device
>          (source (uuid
>                   "a14cd713-7c70-4760-98dd-ab04b41237f6"))
>          (target "ioSafeDuoD2Data")
>          (arguments '(#:key-file "/etc/luks.secrets/ioSafeDuo.key"))
>          (type luks-device-mapping)))
>       (define %my-file-system-root
>         (file-system
>           (mount-point "/")
>           (device "/dev/mapper/cryptroot")
>           (type "ext4")
>           (dependencies (list %my-mapped-device-cryptroot))
>         ))
>
>     (operating-system
>     ...
>       (mapped-devices (list
>          %my-mapped-device-cryptroot
>          %my-mapped-device-ioSafeDuoD1Data
>          %my-mapped-device-ioSafeDuoD2Data
>                            ))
>
>        ;; The list of file systems that get "mounted".  The unique
>        ;; file system identifiers there ("UUIDs") can be obtained
>        ;; by running 'blkid' in a terminal.
>        (file-systems (cons* (file-system
>                               (mount-point "/boot/efi")
>                               (device (uuid "F39E-B8E5"
>                                             'fat32))
>                               (type "vfat"))
>                             %my-file-system-root
>                             (file-system
>                               (mount-point "/mnt/ioSafeDuo")
>                               (device (file-system-label "ioSafeDuoData"))
>                               (type "btrfs")
>                               (mount? #t)
>                               (mount-may-fail? #t)
>                               (dependencies (list
>          ;; %my-file-system-root
>          %my-mapped-device-ioSafeDuoD1Data
>          %my-mapped-device-ioSafeDuoD2Data)
>                              ))
>                              %base-file-systems)))

Reply via email to