{ config, pkgs, ... }: { boot.initrd.kernelModules = [ "dm-snapshot" ]; boot.initrd.luks.devices = { "system".device = "/dev/disk/by-uuid/ba646016-2618-4d9b-acf2-41986ab76f7e"; "data".device = "/dev/disk/by-uuid/6cfe504d-992f-4b11-be3e-31d00c3e108d"; "backup".device = "/dev/disk/by-uuid/772017c5-f176-4473-9db6-4aa3769cf056"; "swap".device = "/dev/disk/by-uuid/c2f2bf21-51a8-4404-944c-ba83a9d7cf21"; }; fileSystems = { "/" = { device = "/dev/mapper/system"; fsType = "btrfs"; }; "/mnt/data" = { device = "/dev/mapper/data"; fsType = "btrfs"; }; "/mnt/backup" = { device = "/dev/mapper/backup"; fsType = "btrfs"; }; "/boot-primary" = { device = "/dev/disk/by-uuid/7D11-F31D"; fsType = "vfat"; }; "/boot-secondary" = { device = "/dev/disk/by-uuid/ED1A-59BF"; fsType = "vfat"; }; }; swapDevices = [{ device = "/dev/mapper/swap"; }]; # TODO: RAID Monitoring # TODO: Set spin-down time of physical disks # Use the systemd-boot EFI boot loader. boot.loader.efi.canTouchEfiVariables = true; boot.loader.grub = { enable = true; efiSupport = true; mirroredBoots = [ { devices = [ "nodev" ]; path = "/boot-primary"; efiBootloaderId = "NixOS primary"; } { devices = [ "nodev" ]; path = "/boot-secondary"; efiBootloaderId = "NixOS secondary"; } ]; }; }