file-systems: Factorize file-system-packages.
* gnu/system/linux-initrd.scm (base-initrd): Move helper-packages body to ... * gnu/system/file-systems.scm (file-system-packages): ... here. New variable. Also export it.master
parent
84aac61c81
commit
7208995426
|
@ -22,6 +22,8 @@
|
|||
#:use-module (guix records)
|
||||
#:use-module ((gnu build file-systems)
|
||||
#:select (string->uuid uuid->string))
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages disk)
|
||||
#:re-export (string->uuid
|
||||
uuid->string)
|
||||
#:export (<file-system>
|
||||
|
@ -65,6 +67,8 @@
|
|||
|
||||
file-system-mapping->bind-mount
|
||||
|
||||
file-system-packages
|
||||
|
||||
%store-mapping
|
||||
%network-configuration-files
|
||||
%network-file-mappings))
|
||||
|
@ -411,4 +415,26 @@ a bind mount."
|
|||
(writable? (string=? file "/etc/resolv.conf"))))
|
||||
%network-configuration-files))
|
||||
|
||||
(define (file-system-type-predicate type)
|
||||
(lambda (fs)
|
||||
(string=? (file-system-type fs) type)))
|
||||
|
||||
(define* (file-system-packages file-systems #:key (volatile-root? #f))
|
||||
`(,@(if (find (lambda (fs)
|
||||
(string-prefix? "ext" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list e2fsck/static)
|
||||
'())
|
||||
,@(if (find (lambda (fs)
|
||||
(string-suffix? "fat" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list fatfsck/static)
|
||||
'())
|
||||
,@(if (find (file-system-type-predicate "btrfs") file-systems)
|
||||
(list btrfs-progs/static)
|
||||
'())
|
||||
,@(if volatile-root?
|
||||
(list unionfs-fuse/static)
|
||||
'())))
|
||||
|
||||
;;; file-systems.scm ends here
|
||||
|
|
|
@ -272,23 +272,7 @@ loaded at boot time in the order in which they appear."
|
|||
,@extra-modules))
|
||||
|
||||
(define helper-packages
|
||||
;; Packages to be copied on the initrd.
|
||||
`(,@(if (find (lambda (fs)
|
||||
(string-prefix? "ext" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list e2fsck/static)
|
||||
'())
|
||||
,@(if (find (lambda (fs)
|
||||
(string-suffix? "fat" (file-system-type fs)))
|
||||
file-systems)
|
||||
(list fatfsck/static)
|
||||
'())
|
||||
,@(if (find (file-system-type-predicate "btrfs") file-systems)
|
||||
(list btrfs-progs/static)
|
||||
'())
|
||||
,@(if volatile-root?
|
||||
(list unionfs-fuse/static)
|
||||
'())))
|
||||
(file-system-packages file-systems #:volatile-root? volatile-root?))
|
||||
|
||||
(raw-initrd file-systems
|
||||
#:linux linux
|
||||
|
|
Reference in New Issue