diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2017-03-18 10:38:51 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2017-03-18 10:38:51 +0100 |
commit | 7208995426714c9fc3ad59cadc3cc0f52df0f018 (patch) | |
tree | 1dbe0160254181c37a8de36af8896979b1d5c0c1 /gnu/system/file-systems.scm | |
parent | 84aac61c819cf2c82d8d4b54cdf53ed9e713a82f (diff) | |
download | guix-7208995426714c9fc3ad59cadc3cc0f52df0f018.tar.gz |
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.
Diffstat (limited to 'gnu/system/file-systems.scm')
-rw-r--r-- | gnu/system/file-systems.scm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 7011a279d3..8107722c74 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -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 |