(define-module (buer file-systems) #:use-module (gnu system file-systems) #:export (%tmpfs-file-systems)) (define guix-part (file-system-label "guix")) (define root (file-system (device "none") (type "tmpfs") (mount-point "/") (check? #f) (needed-for-boot? #t) (options "mode=0755"))) (define home (file-system (device guix-part) (type "btrfs") (mount-point "/home") (flags '(no-atime)) (options "subvol=@home,discard=async,ssd"))) (define root-user (file-system (device guix-part) (type "btrfs") (mount-point "/root") (flags '(no-atime)) (options "subvol=@root,discard=async,ssd"))) (define boot (file-system (device guix-part) (type "btrfs") (mount-point "/boot") (check? #f) (needed-for-boot? #t) (flags '(no-atime)) (options "subvol=@boot,discard=async,ssd"))) (define tmp (file-system (device "none") (type "tmpfs") (mount-point "/tmp") (check? #f) (needed-for-boot? #f))) (define run (file-system (device "none") (type "tmpfs") (mount-point "/run") (check? #f) (needed-for-boot? #t) (options "mode=0755"))) (define var-run (file-system (device "none") (type "tmpfs") (mount-point "/var/run") (check? #f) (needed-for-boot? #t) (options "mode=0755"))) (define var-log (file-system (device guix-part) (type "btrfs") (mount-point "/var/log") (check? #f) (needed-for-boot? #t) (flags '(no-atime)) (options "compress=zstd,subvol=@var/log,ssd"))) (define var-lib (file-system (device guix-part) (type "btrfs") (mount-point "/var/lib") (needed-for-boot? #t) (flags '(no-atime)) (options "compress=zstd,subvol=@var/lib,ssd"))) (define var-guix (file-system (device guix-part) (type "btrfs") (mount-point "/var/guix") (needed-for-boot? #t) (flags '(no-atime)) (options "compress=zstd,subvol=@var/guix,ssd"))) (define gnu-store (file-system (device guix-part) (type "btrfs") (mount-point "/gnu/store") (needed-for-boot? #t) (flags '(no-atime)) (options "compress=zstd,subvol=@gnu/store,ssd"))) (define gnu-persist (file-system (device guix-part) (type "btrfs") (mount-point "/gnu/persist") (needed-for-boot? #t) (flags '(no-atime)) (options "subvol=@gnu/persist,ssd"))) (define gnu-persist-ssh (file-system (device "/gnu/persist/etc/ssh") (type "none") (mount-point "/etc/ssh") (flags '(no-atime bind-mount)))) (define gnu-persist-guix (file-system (device "/gnu/persist/etc/guix") (type "none") (mount-point "/etc/guix") (flags '(no-atime bind-mount)))) (define gnu-persist-wireguard (file-system (device "/gnu/persist/etc/wireguard") (type "none") (mount-point "/etc/wireguard") (flags '(no-atime bind-mount)))) (define %tmpfs-file-systems (cons* root home root-user boot tmp run var-run var-log var-lib var-guix gnu-store gnu-persist gnu-persist-ssh gnu-persist-guix gnu-persist-wireguard (delete %debug-file-system %base-file-systems)))