nixos/vms: Make drives a list (for ordering)
This commit is contained in:
		@@ -13,33 +13,31 @@
 | 
			
		||||
      if config.my.build.isDevVM then "00:02.0" else "27:00.0";
 | 
			
		||||
 | 
			
		||||
    vmLVM = vm: lv: {
 | 
			
		||||
      "${lv}" = {
 | 
			
		||||
        backend = {
 | 
			
		||||
          driver = "host_device";
 | 
			
		||||
          filename = "/dev/ssds/vm-${vm}-${lv}";
 | 
			
		||||
          # It appears this needs to be set on the backend _and_ the format
 | 
			
		||||
          discard = "unmap";
 | 
			
		||||
        };
 | 
			
		||||
        format = {
 | 
			
		||||
          driver = "raw";
 | 
			
		||||
          discard = "unmap";
 | 
			
		||||
        };
 | 
			
		||||
        frontend = "virtio-blk";
 | 
			
		||||
      name = lv;
 | 
			
		||||
      backend = {
 | 
			
		||||
        driver = "host_device";
 | 
			
		||||
        filename = "/dev/ssds/vm-${vm}-${lv}";
 | 
			
		||||
        # It appears this needs to be set on the backend _and_ the format
 | 
			
		||||
        discard = "unmap";
 | 
			
		||||
      };
 | 
			
		||||
      format = {
 | 
			
		||||
        driver = "raw";
 | 
			
		||||
        discard = "unmap";
 | 
			
		||||
      };
 | 
			
		||||
      frontend = "virtio-blk";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    installerDisk = {
 | 
			
		||||
      installer = {
 | 
			
		||||
        backend = {
 | 
			
		||||
          driver = "file";
 | 
			
		||||
          filename = "${systems.installer.configuration.config.my.buildAs.iso}/iso/nixos-installer-devplayer0.iso";
 | 
			
		||||
          read-only = "on";
 | 
			
		||||
        };
 | 
			
		||||
        format.driver = "raw";
 | 
			
		||||
        frontend = "ide-cd";
 | 
			
		||||
        frontendOpts = {
 | 
			
		||||
          bootindex = 1;
 | 
			
		||||
        };
 | 
			
		||||
      name = "installer";
 | 
			
		||||
      backend = {
 | 
			
		||||
        driver = "file";
 | 
			
		||||
        filename = "${systems.installer.configuration.config.my.buildAs.iso}/iso/nixos-installer-devplayer0.iso";
 | 
			
		||||
        read-only = "on";
 | 
			
		||||
      };
 | 
			
		||||
      format.driver = "raw";
 | 
			
		||||
      frontend = "ide-cd";
 | 
			
		||||
      frontendOpts = {
 | 
			
		||||
        bootindex = 1;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  in
 | 
			
		||||
@@ -58,12 +56,11 @@
 | 
			
		||||
              waitOnline = "no-carrier";
 | 
			
		||||
              mac = "52:54:00:15:1a:53";
 | 
			
		||||
            };
 | 
			
		||||
            drives = mkMerge ([ ] ++ (optionals (!config.my.build.isDevVM) [
 | 
			
		||||
            drives = [ ] ++ (optionals (!config.my.build.isDevVM) [
 | 
			
		||||
              (vmLVM "estuary" "esp")
 | 
			
		||||
              (vmLVM "estuary" "nix")
 | 
			
		||||
              (vmLVM "estuary" "persist")
 | 
			
		||||
              { esp.frontendOpts.bootindex = 0; }
 | 
			
		||||
            ]));
 | 
			
		||||
            ]);
 | 
			
		||||
            hostDevices."${wanBDF}" = { };
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
@@ -76,29 +73,24 @@
 | 
			
		||||
            memory = 65536;
 | 
			
		||||
            networks.vms.mac = "52:54:00:27:3d:5c";
 | 
			
		||||
            cleanShutdown.timeout = 120;
 | 
			
		||||
            drives = mkMerge ([
 | 
			
		||||
              installerDisk
 | 
			
		||||
            ] ++ (optionals (!config.my.build.isDevVM) [
 | 
			
		||||
            drives = [ ] ++ (optionals (!config.my.build.isDevVM) [
 | 
			
		||||
              (vmLVM "shill" "esp")
 | 
			
		||||
              (vmLVM "shill" "nix")
 | 
			
		||||
              (vmLVM "shill" "persist")
 | 
			
		||||
              {
 | 
			
		||||
                esp.frontendOpts.bootindex = 0;
 | 
			
		||||
 | 
			
		||||
                media = {
 | 
			
		||||
                  backend = {
 | 
			
		||||
                    driver = "host_device";
 | 
			
		||||
                    filename = "/dev/hdds/media";
 | 
			
		||||
                    discard = "unmap";
 | 
			
		||||
                  };
 | 
			
		||||
                  format = {
 | 
			
		||||
                    driver = "raw";
 | 
			
		||||
                    discard = "unmap";
 | 
			
		||||
                  };
 | 
			
		||||
                  frontend = "virtio-blk";
 | 
			
		||||
                name = "media";
 | 
			
		||||
                backend = {
 | 
			
		||||
                  driver = "host_device";
 | 
			
		||||
                  filename = "/dev/hdds/media";
 | 
			
		||||
                  discard = "unmap";
 | 
			
		||||
                };
 | 
			
		||||
                format = {
 | 
			
		||||
                  driver = "raw";
 | 
			
		||||
                  discard = "unmap";
 | 
			
		||||
                };
 | 
			
		||||
                frontend = "virtio-blk";
 | 
			
		||||
              }
 | 
			
		||||
            ]));
 | 
			
		||||
            ]);
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user