mirror of https://codeberg.org/anemofilia/zero
154 lines
3.2 KiB
Scheme
154 lines
3.2 KiB
Scheme
(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)))
|