{ config, lib, pkgs, utils, ... }: { fileSystems = { "/boot" = { label = "boot"; fsType = "vfat"; options = [ "fmask=0033" "dmask=0022" ]; }; # "/.bcachefs" = # { device = "/dev/mapper/sif-nvm0:/dev/mapper/sif-nvm1"; # fsType = "bcachefs"; # neededForBoot = true; # }; "/nix" = { device = "/.bcachefs/nix"; fsType = "none"; options = [ "bind" "x-systemd.after=bcachefs.service" "x-systemd.requires=bcachefs.service" ]; }; "/root" = { device = "/.bcachefs/root"; fsType = "none"; options = [ "bind" ]; }; "/var/log" = { device = "/.bcachefs/var/log"; fsType = "none"; options = [ "bind" "x-systemd.after=bcachefs.service" "x-systemd.requires=bcachefs.service" ]; }; "/var/lib/sops-nix" = { device = "/.bcachefs/var/lib/sops-nix"; fsType = "none"; options = [ "bind" "x-systemd.after=bcachefs.service" "x-systemd.requires=bcachefs.service" ]; neededForBoot = true; }; "/var/lib/nixos" = { device = "/.bcachefs/var/lib/nixos"; fsType = "none"; options = [ "bind" "x-systemd.after=bcachefs.service" "x-systemd.requires=bcachefs.service" ]; }; "/var/lib/chrony" = { device = "/.bcachefs/var/lib/chrony"; fsType = "none"; options = [ "bind" ]; }; "/var/lib/fprint" = { device = "/.bcachefs/var/lib/fprint"; fsType = "none"; options = [ "bind" ]; }; "/var/lib/systemd" = { device = "/.bcachefs/var/lib/systemd"; fsType = "none"; options = [ "bind" "x-systemd.after=bcachefs.service" "x-systemd.requires=bcachefs.service" ]; neededForBoot = true; }; "/home" = { device = "/.bcachefs/home"; fsType = "none"; options = [ "bind" ]; }; "/etc/NetworkManager/system-connections" = { device = "/.bcachefs/etc/NetworkManager/system-connections"; fsType = "none"; options = [ "bind" ]; }; }; boot.initrd.supportedFilesystems.bcachefs = true; boot.initrd.systemd.units."dev-sif-nvm0:-dev-sif-nvm1.device".enable = false; systemd.units."dev-sif-nvm0:-dev-sif-nvm1.device".enable = false; boot.initrd.systemd.services."bcachefs" = { before = [ "initrd-fs.target" ]; after = [ "local-fs-pre.target" "dev-sif-nvm0.device" "dev-sif-nvm1.device" ]; requires = [ "dev-sif-nvm0.device" "dev-sif-nvm1.device" ]; wantedBy = [ "initrd-fs.target" ]; unitConfig = { DefaultDependencies = false; StopPropagatedFrom = [ "dev-sif-nvm0.device" "dev-sif-nvm1.device" ]; }; serviceConfig = { Type = "oneshot"; ExecStart = "/bin/mount -o X-mount.mkdir -t bcachefs /dev/sif/nvm0:/dev/sif/nvm1 /sysroot/.bcachefs"; RemainAfterExit = true; }; }; swapDevices = [ { label = "swap"; } ]; nix.settings.max-jobs = 12; # High-DPI console console.font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz"; hardware.cpu.intel.updateMicrocode = true; hardware.enableRedistributableFirmware = true; }