85 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  lib,
 | 
						|
  pkgs,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
let
 | 
						|
  fsOptions = [
 | 
						|
    "noatime"
 | 
						|
    "ssd"
 | 
						|
    "space_cache"
 | 
						|
    "compress=zstd"
 | 
						|
  ];
 | 
						|
in
 | 
						|
{
 | 
						|
  # encrypted partitions
 | 
						|
  boot.initrd.luks = {
 | 
						|
    devices =
 | 
						|
      # allow discards on all devices
 | 
						|
      builtins.mapAttrs (name: val: val // { allowDiscards = true; }) {
 | 
						|
        "system".device = "/dev/disk/by-uuid/85154131-b2a8-4ef5-9d74-47429cb267ef";
 | 
						|
        "cryptswap".device = "/dev/disk/by-uuid/ac586df6-6332-4809-beb1-f51906a2adaa";
 | 
						|
        "ssd2".device = "/dev/disk/by-uuid/cadd4e1f-3642-4faa-8d4e-37dd85465df1";
 | 
						|
      };
 | 
						|
    reusePassphrases = true;
 | 
						|
  };
 | 
						|
 | 
						|
  fileSystems = {
 | 
						|
    "/" = {
 | 
						|
      device = "/dev/disk/by-uuid/cb5998ae-cfc9-447f-8756-1ceaec6ca4c4";
 | 
						|
      fsType = "btrfs";
 | 
						|
      options = fsOptions ++ [ "subvol=nixos_root" ];
 | 
						|
    };
 | 
						|
 | 
						|
    "/boot" = {
 | 
						|
      device = "/dev/disk/by-uuid/DED9-661B";
 | 
						|
      fsType = "vfat";
 | 
						|
      options = [ "discard" ];
 | 
						|
    };
 | 
						|
 | 
						|
    "/home" = {
 | 
						|
      device = "/dev/disk/by-uuid/cb5998ae-cfc9-447f-8756-1ceaec6ca4c4";
 | 
						|
      fsType = "btrfs";
 | 
						|
      options = fsOptions ++ [ "subvol=home" ];
 | 
						|
    };
 | 
						|
 | 
						|
    "/var/tmp" = {
 | 
						|
      device = "/dev/disk/by-uuid/cd6b8f25-c029-49a6-b326-656faec3ce15";
 | 
						|
      fsType = "btrfs";
 | 
						|
      options = fsOptions ++ [ "subvol=vartmp" ];
 | 
						|
    };
 | 
						|
 | 
						|
    "/var/log" = {
 | 
						|
      device = "/dev/disk/by-uuid/cd6b8f25-c029-49a6-b326-656faec3ce15";
 | 
						|
      fsType = "btrfs";
 | 
						|
      options = fsOptions ++ [ "subvol=varlog" ];
 | 
						|
    };
 | 
						|
 | 
						|
    "/var/cache" = {
 | 
						|
      device = "/dev/disk/by-uuid/cd6b8f25-c029-49a6-b326-656faec3ce15";
 | 
						|
      fsType = "btrfs";
 | 
						|
      options = fsOptions ++ [ "subvol=varcache" ];
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  services.fstrim.enable = true;
 | 
						|
  services.btrfs.autoScrub = {
 | 
						|
    enable = true;
 | 
						|
    fileSystems = [
 | 
						|
      "/"
 | 
						|
      "/home"
 | 
						|
    ];
 | 
						|
  };
 | 
						|
 | 
						|
  boot.tmp.useTmpfs = true;
 | 
						|
  fileSystems."/tmp".fsType = "tmpfs";
 | 
						|
 | 
						|
  services.smartd = {
 | 
						|
    enable = true;
 | 
						|
    devices = [
 | 
						|
      { device = "/dev/sda"; }
 | 
						|
      { device = "/dev/sdb"; }
 | 
						|
    ];
 | 
						|
  };
 | 
						|
}
 |