(define-module (jd host) #:use-module (rde features base) #:use-module (rde features system) #:use-module (rde features wm) #:use-module (gnu system file-systems) #:use-module (gnu system mapped-devices) #:use-module (ice-9 match)) (define mapped-devices (list (mapped-device (source (uuid "3fcc2e44-77bb-4a62-bbdc-f8c646fccbd2")) (target "enc") (type luks-device-mapping)))) (define btrfs-subvolumes (map (match-lambda ((subvol . mount-point) (file-system (type "btrfs") (device "/dev/mapper/enc") (mount-point mount-point) (options (format #f "subvol=~a" subvol)) (dependencies mapped-devices)))) '((@ . "/") (@boot . "/boot") (@gnu . "/gnu") (@nix . "/nix") (@home . "/home") (@data . "/data") (@var-log . "/var/log")))) (define data-fs (car (filter (lambda (x) (equal? (file-system-mount-point x) "/data")) btrfs-subvolumes))) (define file-systems (append btrfs-subvolumes (list (file-system (device "/data/system/var/lib") (type "none") (mount-point "/var/lib") (flags '(bind-mount)) (dependencies (list data-fs))) (file-system (mount-point "/boot/efi") (type "vfat") (device (uuid "82F1-2D6E" 'fat32)))))) (define-public %host-features (list (feature-host-info #:host-name "berserker" #:timezone "Europe/Warsaw") (feature-file-systems #:mapped-devices mapped-devices #:file-systems file-systems) (feature-kanshi #:extra-config `((profile laptop ((output eDP-1 enable))) (profile docked ((output eDP-1 disable) (output DP-3 enable))) (profile docked ((output eDP-1 disable) (output DP-4 enable))))) (feature-hidpi)))