82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
{
 | 
						|
  disko.devices = {
 | 
						|
    disk = {
 | 
						|
      root = {
 | 
						|
        type = "disk";
 | 
						|
        device = "/dev/vda";
 | 
						|
        content = {
 | 
						|
          type = "gpt";
 | 
						|
          partitions = {
 | 
						|
            ESP = {
 | 
						|
              size = "1G";
 | 
						|
              type = "EF00";
 | 
						|
              content = {
 | 
						|
                type = "filesystem";
 | 
						|
                format = "vfat";
 | 
						|
                mountpoint = "/boot";
 | 
						|
                mountOptions = [ "nofail" ];
 | 
						|
              };
 | 
						|
            };
 | 
						|
            zfs = {
 | 
						|
              size = "100%";
 | 
						|
              content = {
 | 
						|
                type = "zfs";
 | 
						|
                pool = "zroot";
 | 
						|
              };
 | 
						|
            };
 | 
						|
          };
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
    zpool = {
 | 
						|
      zroot = {
 | 
						|
        type = "zpool";
 | 
						|
        rootFsOptions = {
 | 
						|
          mountpoint = "none";
 | 
						|
          compression = "zstd";
 | 
						|
          acltype = "posixacl";
 | 
						|
          xattr = "sa";
 | 
						|
          "com.sun:auto-snapshot" = "true";
 | 
						|
        };
 | 
						|
        options.ashift = "12";
 | 
						|
        datasets = {
 | 
						|
          "root" = {
 | 
						|
            type = "zfs_fs";
 | 
						|
            options = {
 | 
						|
              encryption = "aes-256-gcm";
 | 
						|
              keyformat = "passphrase";
 | 
						|
              #keylocation = "file:///tmp/secret.key";
 | 
						|
              keylocation = "prompt";
 | 
						|
            };
 | 
						|
            mountpoint = "/";
 | 
						|
 | 
						|
          };
 | 
						|
          "root/nix" = {
 | 
						|
            type = "zfs_fs";
 | 
						|
            options.mountpoint = "/nix";
 | 
						|
            mountpoint = "/nix";
 | 
						|
          };
 | 
						|
 | 
						|
          # README MORE: https://wiki.archlinux.org/title/ZFS#Swap_volume
 | 
						|
          "root/swap" = {
 | 
						|
            type = "zfs_volume";
 | 
						|
            size = "10M";
 | 
						|
            content = {
 | 
						|
              type = "swap";
 | 
						|
            };
 | 
						|
            options = {
 | 
						|
              volblocksize = "4096";
 | 
						|
              compression = "zle";
 | 
						|
              logbias = "throughput";
 | 
						|
              sync = "always";
 | 
						|
              primarycache = "metadata";
 | 
						|
              secondarycache = "none";
 | 
						|
              "com.sun:auto-snapshot" = "false";
 | 
						|
            };
 | 
						|
          };
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |