forked from jan-leila/nix-config
		
	main #2
					 2 changed files with 45 additions and 56 deletions
				
			
		|  | @ -40,6 +40,8 @@ | |||
|         tokenFile = config.sops.secrets."services/zfs_smtp_token".path; | ||||
|       }; | ||||
|       pool = { | ||||
|         # We are having to boot off of the nvm cache drive because I cant figure out how to boot via the HBA | ||||
|         bootDrives = ["nvme-Samsung_SSD_990_PRO_4TB_S7KGNU0X907881F"]; | ||||
|         vdevs = [ | ||||
|           [ | ||||
|             "ata-ST18000NE000-3G6101_ZVTCXVEB" | ||||
|  |  | |||
|  | @ -50,16 +50,25 @@ in { | |||
|       }; | ||||
|     }; | ||||
|     pool = { | ||||
|       vdevs = lib.mkOption { | ||||
|         type = lib.types.listOf (lib.types.listOf lib.types.str); | ||||
|         description = "list of disks that are going to be in"; | ||||
|         default = [config.host.storage.pool.drives]; | ||||
|       # list of drives in pool that will have a boot partition put onto them | ||||
|       bootDrives = lib.mkOption { | ||||
|         type = lib.types.listOf lib.types.str; | ||||
|         description = "list of disks that are going to have a boot partition installed on them"; | ||||
|         default = lib.lists.flatten config.host.storage.pool.vdevs; | ||||
|       }; | ||||
|       # shorthand for vdevs if you only have 1 vdev | ||||
|       drives = lib.mkOption { | ||||
|         type = lib.types.listOf lib.types.str; | ||||
|         description = "list of drives that are going to be in the vdev"; | ||||
|         default = []; | ||||
|       }; | ||||
|       # list of all drives in each vdev | ||||
|       vdevs = lib.mkOption { | ||||
|         type = lib.types.listOf (lib.types.listOf lib.types.str); | ||||
|         description = "list of disks that are going to be in"; | ||||
|         default = [config.host.storage.pool.drives]; | ||||
|       }; | ||||
|       # list of cache drives for pool | ||||
|       cache = lib.mkOption { | ||||
|         type = lib.types.listOf lib.types.str; | ||||
|         description = "list of drives that are going to be used as cache"; | ||||
|  | @ -156,7 +165,6 @@ in { | |||
|     disko.devices = { | ||||
|       disk = ( | ||||
|         builtins.listToAttrs ( | ||||
|           ( | ||||
|           builtins.map | ||||
|           (drive: | ||||
|             lib.attrsets.nameValuePair (drive.name) { | ||||
|  | @ -165,30 +173,8 @@ in { | |||
|               content = { | ||||
|                 type = "gpt"; | ||||
|                 partitions = { | ||||
|                     zfs = { | ||||
|                       size = "100%"; | ||||
|                       content = { | ||||
|                         type = "zfs"; | ||||
|                         pool = "rpool"; | ||||
|                       }; | ||||
|                     }; | ||||
|                   }; | ||||
|                 }; | ||||
|               }) | ||||
|             (lib.lists.flatten vdevs) | ||||
|           ) | ||||
|           ++ ( | ||||
|             builtins.map | ||||
|             (drive: | ||||
|               lib.attrsets.nameValuePair (drive.name) { | ||||
|                 type = "disk"; | ||||
|                 device = "/dev/disk/by-id/${drive.value}"; | ||||
|                 content = { | ||||
|                   type = "gpt"; | ||||
|                   partitions = { | ||||
|                     # We are having to boot off of the nvm cache drive because I cant figure out how to boot via the HBA | ||||
|                     ESP = { | ||||
|                       # 2G here because its not much relative to how much storage we have for caching | ||||
|                   ESP = lib.mkIf (builtins.elem drive.value config.host.storage.pool.bootDrives) { | ||||
|                     # The 2GB here for the boot partition might be a bit overkill we probably only need like 1/4th of that but storage is cheap | ||||
|                     size = "2G"; | ||||
|                     type = "EF00"; | ||||
|                     content = { | ||||
|  | @ -208,7 +194,8 @@ in { | |||
|                 }; | ||||
|               }; | ||||
|             }) | ||||
|             cache | ||||
|           ( | ||||
|             (lib.lists.flatten vdevs) ++ cache | ||||
|           ) | ||||
|         ) | ||||
|       ); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue