diff --git a/infra/common/nixos/hardware.nix b/infra/common/nixos/hardware.nix index 3410294f..c01ced2f 100644 --- a/infra/common/nixos/hardware.nix +++ b/infra/common/nixos/hardware.nix @@ -21,4 +21,42 @@ kernelModules = [ "dm-snapshot" ]; }; }; + + disko.devices.disk.main = { + device = "/dev/sda"; + type = "disk"; + + content = { + type = "gpt"; + + partitions = { + MBR = { + priority = 0; + size = "1M"; + type = "EF02"; + }; + + ESP = { + priority = 1; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + + root = { + priority = 2; + size = "100%"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + }; + }; + }; + }; + }; } diff --git a/infra/fedi300/default.nix b/infra/fedi300/default.nix index 0ebd3310..4f70ca98 100644 --- a/infra/fedi300/default.nix +++ b/infra/fedi300/default.nix @@ -12,23 +12,29 @@ }; }; - nixos.module = { - imports = [ - ./forgejo-actions-runner.nix - ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/cbcfaf6b-39bd-4328-9f53-dea8a9d32ecc"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/1A4E-07F4"; - fsType = "vfat"; - options = [ - "fmask=0022" - "dmask=0022" + nixos.module = + { lib, ... }: + { + imports = [ + ./forgejo-actions-runner.nix ]; + + ## NOTE: This VM was created manually, which requires us to override the + ## default disko-based `fileSystems` definition. + fileSystems = lib.mkForce { + "/" = { + device = "/dev/disk/by-uuid/cbcfaf6b-39bd-4328-9f53-dea8a9d32ecc"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/1A4E-07F4"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + }; }; - }; } diff --git a/infra/vm02116/default.nix b/infra/vm02116/default.nix index cf5940a3..387a5bad 100644 --- a/infra/vm02116/default.nix +++ b/infra/vm02116/default.nix @@ -4,25 +4,31 @@ ipv6.address = "2a00:51c0:12:1201::20"; }; - nixos.module = { - imports = [ - ./forgejo.nix - ]; + nixos.module = + { lib, ... }: + { + imports = [ + ./forgejo.nix + ]; - ## vm02116 is running on old hardware based on a Xen VM environment, so it - ## needs these extra options. Once the VM gets moved to a newer node, these - ## two options can safely be removed. - boot.initrd.availableKernelModules = [ "xen_blkfront" ]; - services.xe-guest-utilities.enable = true; + ## vm02116 is running on old hardware based on a Xen VM environment, so it + ## needs these extra options. Once the VM gets moved to a newer node, these + ## two options can safely be removed. + boot.initrd.availableKernelModules = [ "xen_blkfront" ]; + services.xe-guest-utilities.enable = true; - fileSystems."/" = { - device = "/dev/disk/by-uuid/3802a66d-e31a-4650-86f3-b51b11918853"; - fsType = "ext4"; + ## NOTE: This VM was created manually, which requires us to override the + ## default disko-based `fileSystems` definition. + fileSystems = lib.mkForce { + "/" = { + device = "/dev/disk/by-uuid/3802a66d-e31a-4650-86f3-b51b11918853"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/2CE2-1173"; + fsType = "vfat"; + }; + }; }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/2CE2-1173"; - fsType = "vfat"; - }; - }; } diff --git a/infra/vm02179/default.nix b/infra/vm02179/default.nix index 6839d5cd..3ff8de5b 100644 --- a/infra/vm02179/default.nix +++ b/infra/vm02179/default.nix @@ -4,19 +4,25 @@ ipv6.address = "2a00:51c0:12:1201::179"; }; - nixos.module = { - fileSystems."/" = { - device = "/dev/disk/by-uuid/119863f8-55cf-4e2f-ac17-27599a63f241"; - fsType = "ext4"; - }; + nixos.module = + { lib, ... }: + { + ## NOTE: This VM was created manually, which requires us to override the + ## default disko-based `fileSystems` definition. + fileSystems = lib.mkForce { + "/" = { + device = "/dev/disk/by-uuid/119863f8-55cf-4e2f-ac17-27599a63f241"; + fsType = "ext4"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/D9F4-9BF0"; - fsType = "vfat"; - options = [ - "fmask=0022" - "dmask=0022" - ]; + "/boot" = { + device = "/dev/disk/by-uuid/D9F4-9BF0"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + }; }; - }; } diff --git a/infra/vm02186/default.nix b/infra/vm02186/default.nix index 7811cc5d..7e6c4148 100644 --- a/infra/vm02186/default.nix +++ b/infra/vm02186/default.nix @@ -4,19 +4,25 @@ ipv6.address = "2a00:51c0:12:1201::186"; }; - nixos.module = { - fileSystems."/" = { - device = "/dev/disk/by-uuid/833ac0f9-ad8c-45ae-a9bf-5844e378c44a"; - fsType = "ext4"; - }; + nixos.module = + { lib, ... }: + { + ## NOTE: This VM was created manually, which requires us to override the + ## default disko-based `fileSystems` definition. + fileSystems = lib.mkForce { + "/" = { + device = "/dev/disk/by-uuid/833ac0f9-ad8c-45ae-a9bf-5844e378c44a"; + fsType = "ext4"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/B4D5-3AF9"; - fsType = "vfat"; - options = [ - "fmask=0022" - "dmask=0022" - ]; + "/boot" = { + device = "/dev/disk/by-uuid/B4D5-3AF9"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + }; }; - }; } diff --git a/infra/vm02187/default.nix b/infra/vm02187/default.nix index a1620197..18e9a29f 100644 --- a/infra/vm02187/default.nix +++ b/infra/vm02187/default.nix @@ -4,23 +4,29 @@ ipv6.address = "2a00:51c0:12:1201::187"; }; - nixos.module = { - imports = [ - ./wiki.nix - ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/a46a9c46-e32b-4216-a4aa-8819b2cd0d49"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/6AB5-4FA8"; - fsType = "vfat"; - options = [ - "fmask=0022" - "dmask=0022" + nixos.module = + { lib, ... }: + { + imports = [ + ./wiki.nix ]; + + ## NOTE: This VM was created manually, which requires us to override the + ## default disko-based `fileSystems` definition. + fileSystems = lib.mkForce { + "/" = { + device = "/dev/disk/by-uuid/a46a9c46-e32b-4216-a4aa-8819b2cd0d49"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/6AB5-4FA8"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + }; }; - }; }