Merge pull request 'revert machine_id pull request' (#2051) from Qubasa/clan-core:Qubasa-revert-machine-id into main

This commit is contained in:
clan-bot
2024-09-06 19:45:05 +00:00
27 changed files with 46 additions and 217 deletions

View File

@@ -134,10 +134,6 @@
]; ];
virtualisation.emptyDiskImages = [ 256 ]; virtualisation.emptyDiskImages = [ 256 ];
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
}; };
testScript = '' testScript = ''

View File

@@ -18,10 +18,6 @@
{ {
clan.core.machineName = "machine"; clan.core.machineName = "machine";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
clan.core.state.testState.folders = [ "/etc/state" ]; clan.core.state.testState.folders = [ "/etc/state" ];
environment.etc.state.text = "hello world"; environment.etc.state.text = "hello world";
systemd.tmpfiles.settings."vmsecrets" = { systemd.tmpfiles.settings."vmsecrets" = {

View File

@@ -9,7 +9,6 @@
networking.hostName = "machine"; networking.hostName = "machine";
services.openssh.enable = true; services.openssh.enable = true;
services.openssh.startWhenNeeded = false; services.openssh.startWhenNeeded = false;
}; };
testScript = '' testScript = ''
start_all() start_all()

View File

@@ -12,10 +12,6 @@
{ {
clan.core.machineName = "machine"; clan.core.machineName = "machine";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
} }
]; ];
}; };

View File

@@ -10,7 +10,6 @@
let let
dependencies = [ dependencies = [
pkgs.disko pkgs.disko
pkgs.age
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.toplevel self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.toplevel
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.diskoScript self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.diskoScript
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.diskoScript.drvPath self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.diskoScript.drvPath
@@ -26,11 +25,9 @@
nodes.target = { nodes.target = {
virtualisation.emptyDiskImages = [ 4096 ]; virtualisation.emptyDiskImages = [ 4096 ];
virtualisation.memorySize = 3000; virtualisation.memorySize = 3000;
environment.systemPackages = [ environment.systemPackages = [ self.packages.${pkgs.system}.clan-cli ];
self.packages.${pkgs.system}.clan-cli
] ++ self.packages.${pkgs.system}.clan-cli.runtimeDependencies;
environment.variables."SOPS_AGE_KEY" = builtins.readFile ../lib/age/privkey;
environment.etc."install-closure".source = "${closureInfo}/store-paths"; environment.etc."install-closure".source = "${closureInfo}/store-paths";
nix.settings = { nix.settings = {
substituters = lib.mkForce [ ]; substituters = lib.mkForce [ ];
hashed-mirrors = null; hashed-mirrors = null;
@@ -41,15 +38,11 @@
"flakes" "flakes"
]; ];
}; };
system.extraDependencies = dependencies;
}; };
testScript = '' testScript = ''
start_all() start_all()
machine.succeed("cp -r ${../..} test-flake && chmod -R +w test-flake") machine.succeed("clan flash --debug --flake ${../..} --yes --disk main /dev/vdb test-install-machine")
machine.succeed("clan secrets key generate")
machine.succeed("clan secrets users add --debug --flake test-flake testuser '${builtins.readFile ../lib/age/pubkey}'")
machine.succeed("clan flash --debug --flake test-flake --yes --disk main /dev/vdb test-install-machine")
''; '';
} { inherit pkgs self; }; } { inherit pkgs self; };
}; };

View File

@@ -1,12 +1,7 @@
{ self, lib, ... }: { self, lib, ... }:
{ {
clan.machines.test-install-machine = { clan.machines.test-install-machine = {
clan.core.networking.targetHost = "test-install-machine"; clan.core.networking.targetHost = "test-install-machine";
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
fileSystems."/".device = lib.mkDefault "/dev/vdb"; fileSystems."/".device = lib.mkDefault "/dev/vdb";
boot.loader.grub.device = lib.mkDefault "/dev/vdb"; boot.loader.grub.device = lib.mkDefault "/dev/vdb";
@@ -22,10 +17,7 @@
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
clan.single-disk.device = "/dev/vdb"; clan.single-disk.device = "/dev/vdb";
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
environment.etc."install-successful".text = "ok"; environment.etc."install-successful".text = "ok";
boot.consoleLogLevel = lib.mkForce 100; boot.consoleLogLevel = lib.mkForce 100;
@@ -42,10 +34,8 @@
let let
dependencies = [ dependencies = [
self self
pkgs.age
self.nixosConfigurations.test-install-machine.config.system.build.toplevel self.nixosConfigurations.test-install-machine.config.system.build.toplevel
self.nixosConfigurations.test-install-machine.config.system.build.diskoScript self.nixosConfigurations.test-install-machine.config.system.build.diskoScript
self.clanInternals.machines.${pkgs.hostPlatform.system}.test-install-machine.config.system.build.diskoScript.drvPath
self.nixosConfigurations.test-install-machine.config.system.clan.deployment.file self.nixosConfigurations.test-install-machine.config.system.clan.deployment.file
pkgs.stdenv.drvPath pkgs.stdenv.drvPath
pkgs.nixos-anywhere pkgs.nixos-anywhere
@@ -60,7 +50,6 @@
services.openssh.enable = true; services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keyFiles = [ ../lib/ssh/pubkey ]; users.users.root.openssh.authorizedKeys.keyFiles = [ ../lib/ssh/pubkey ];
system.nixos.variant_id = "installer"; system.nixos.variant_id = "installer";
virtualisation.emptyDiskImages = [ 4096 ]; virtualisation.emptyDiskImages = [ 4096 ];
nix.settings = { nix.settings = {
substituters = lib.mkForce [ ]; substituters = lib.mkForce [ ];
@@ -78,7 +67,6 @@
self.packages.${pkgs.system}.clan-cli self.packages.${pkgs.system}.clan-cli
] ++ self.packages.${pkgs.system}.clan-cli.runtimeDependencies; ] ++ self.packages.${pkgs.system}.clan-cli.runtimeDependencies;
environment.etc."install-closure".source = "${closureInfo}/store-paths"; environment.etc."install-closure".source = "${closureInfo}/store-paths";
environment.variables."SOPS_AGE_KEY" = builtins.readFile ../lib/age/privkey;
virtualisation.memorySize = 2048; virtualisation.memorySize = 2048;
nix.settings = { nix.settings = {
substituters = lib.mkForce [ ]; substituters = lib.mkForce [ ];
@@ -111,11 +99,9 @@
client.wait_until_succeeds("timeout 2 ssh -o StrictHostKeyChecking=accept-new -v root@target hostname") client.wait_until_succeeds("timeout 2 ssh -o StrictHostKeyChecking=accept-new -v root@target hostname")
client.succeed("cp -r ${../..} test-flake && chmod -R +w test-flake") client.succeed("cp -r ${../..} test-flake && chmod -R +w test-flake")
client.fail("test -f test-flake/machines/test-install-machine/hardware-configuration.nix") client.fail("test -f test-flake/machines/test-install-machine/hardware-configuration.nix")
client.succeed("clan secrets key generate") client.succeed("clan machines hw-generate --flake test-flake test-install-machine root@target>&2")
client.succeed("clan secrets users add --debug --flake test-flake testuser '${builtins.readFile ../lib/age/pubkey}'")
client.succeed("clan machines hw-generate --debug --flake test-flake test-install-machine root@target>&2")
client.succeed("test -f test-flake/machines/test-install-machine/hardware-configuration.nix") client.succeed("test -f test-flake/machines/test-install-machine/hardware-configuration.nix")
client.succeed("clan machines install --debug --flake test-flake --yes test-install-machine root@target >&2") client.succeed("clan machines install --debug --flake ${../..} --yes test-install-machine root@target >&2")
try: try:
target.shutdown() target.shutdown()
except BrokenPipeError: except BrokenPipeError:

View File

@@ -1 +0,0 @@
AGE-SECRET-KEY-1KF8E3SR3TTGL6M476SKF7EEMR4H9NF7ZWYSLJUAK8JX276JC7KUSSURKFK

View File

@@ -1 +0,0 @@
age1dhwqzkah943xzc34tc3dlmfayyevcmdmxzjezdgdy33euxwf59vsp3vk3c

View File

@@ -17,10 +17,7 @@
{ {
clan.core.machineName = "machine"; clan.core.machineName = "machine";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
services.nginx.virtualHosts."matrix.clan.test" = { services.nginx.virtualHosts."matrix.clan.test" = {
enableACME = lib.mkForce false; enableACME = lib.mkForce false;
forceSSL = lib.mkForce false; forceSSL = lib.mkForce false;

View File

@@ -32,10 +32,6 @@
common common
{ {
clan.core.machineName = "peer1"; clan.core.machineName = "peer1";
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
environment.etc = { environment.etc = {
"mumble-key".source = ./peer_1/peer_1_test_key; "mumble-key".source = ./peer_1/peer_1_test_key;
"mumble-cert".source = ./peer_1/peer_1_test_cert; "mumble-cert".source = ./peer_1/peer_1_test_cert;
@@ -69,10 +65,6 @@
imports = [ imports = [
common common
{ {
clan.core.machine = {
id = "a73f5245cdba4576ab6cfef3145ac9ec";
diskId = "c4c47b";
};
clan.core.machineName = "peer2"; clan.core.machineName = "peer2";
environment.etc = { environment.etc = {
"mumble-key".source = ./peer_2/peer_2_test_key; "mumble-key".source = ./peer_2/peer_2_test_key;

View File

@@ -8,13 +8,7 @@ let
self.nixosModules.clanCore self.nixosModules.clanCore
# This is the only option that is not part of the # This is the only option that is not part of the
# module because it is usually set by flake-parts # module because it is usually set by flake-parts
{ { clan.core.clanDir = ./.; }
clan.core.clanDir = ./.;
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
}
]; ];
}; };
in in

View File

@@ -15,11 +15,6 @@
clan.localbackup.targets.hdd.directory = "/mnt/external-disk"; clan.localbackup.targets.hdd.directory = "/mnt/external-disk";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
systemd.services.sample-service = { systemd.services.sample-service = {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
script = '' script = ''

View File

@@ -12,10 +12,6 @@
clan.core.clanDir = "${./.}"; clan.core.clanDir = "${./.}";
clan.core.machineName = "machine"; clan.core.machineName = "machine";
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
networking.hostName = "machine"; networking.hostName = "machine";
}; };

View File

@@ -14,10 +14,6 @@
{ {
clan.core.machineName = "introducer"; clan.core.machineName = "introducer";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
environment.etc = { environment.etc = {
"syncthing.pam".source = ./introducer/introducer_test_cert; "syncthing.pam".source = ./introducer/introducer_test_cert;
"syncthing.key".source = ./introducer/introducer_test_key; "syncthing.key".source = ./introducer/introducer_test_key;
@@ -59,10 +55,6 @@
{ {
clan.core.machineName = "peer1"; clan.core.machineName = "peer1";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "645a43ad1d6f456aa2d623464efed096";
diskId = "9404bf2fb28343cba82e64d1a9131ea4";
};
clan.syncthing.introducer = lib.strings.removeSuffix "\n" ( clan.syncthing.introducer = lib.strings.removeSuffix "\n" (
builtins.readFile ./introducer/introducer_device_id builtins.readFile ./introducer/introducer_device_id
); );
@@ -85,10 +77,6 @@
{ {
clan.core.machineName = "peer2"; clan.core.machineName = "peer2";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "dd0927b2113b4fa58a94a4be15b0408e";
diskId = "05d6d08214d14261b001782b417ca2a3";
};
clan.syncthing.introducer = lib.strings.removeSuffix "\n" ( clan.syncthing.introducer = lib.strings.removeSuffix "\n" (
builtins.readFile ./introducer/introducer_device_id builtins.readFile ./introducer/introducer_device_id
); );

View File

@@ -16,10 +16,6 @@ import ../lib/test-base.nix (
{ {
clan.core.machineName = "machine"; clan.core.machineName = "machine";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
} }
]; ];
services.wayland-proxy-virtwl.enable = true; services.wayland-proxy-virtwl.enable = true;

View File

@@ -12,10 +12,6 @@
{ {
clan.core.machineName = "machine"; clan.core.machineName = "machine";
clan.core.clanDir = ./.; clan.core.clanDir = ./.;
clan.core.machine = {
id = "df97124f09da48e3a22d77ce30ee8da6";
diskId = "c9c52c";
};
} }
]; ];
}; };

View File

@@ -1,7 +1,4 @@
{ lib, config, ... }: { lib, config, ... }:
let
cfg = config.clan.single-disk;
in
{ {
options.clan.single-disk = { options.clan.single-disk = {
device = lib.mkOption { device = lib.mkOption {
@@ -11,38 +8,26 @@ in
# Question: should we set a default here? # Question: should we set a default here?
# default = "/dev/null"; # default = "/dev/null";
}; };
suffix = lib.mkOption {
default = config.clan.core.machine.diskId;
defaultText = "abcdef";
type = lib.types.nullOr lib.types.str;
description = "The suffix to use for the disk";
};
}; };
config = { config = {
assertions = [
{
assertion = cfg.suffix != null;
message = "clan.core.machine.diskId must be set, please run `clan facts generate`";
}
];
boot.loader.grub.efiSupport = lib.mkDefault true; boot.loader.grub.efiSupport = lib.mkDefault true;
boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true; boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true;
disko.devices = lib.mkIf (cfg.suffix != null) { disko.devices = {
disk = { disk = {
main = { main = {
type = "disk"; type = "disk";
# This is set through the UI # This is set through the UI
device = cfg.device; device = config.clan.single-disk.device;
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {
"boot-${cfg.suffix}" = { "${config.networking.hostName}-boot" = {
size = "1M"; size = "1M";
type = "EF02"; # for grub MBR type = "EF02"; # for grub MBR
priority = 1; priority = 1;
}; };
"ESP-${cfg.suffix}" = { "${config.networking.hostName}-ESP" = {
size = "512M"; size = "512M";
type = "EF00"; type = "EF00";
content = { content = {
@@ -51,7 +36,7 @@ in
mountpoint = "/boot"; mountpoint = "/boot";
}; };
}; };
"root-${cfg.suffix}" = { "${config.networking.hostName}-root" = {
size = "100%"; size = "100%";
content = { content = {
type = "filesystem"; type = "filesystem";

View File

@@ -108,7 +108,6 @@ nav:
- reference/clan-core/sops.md - reference/clan-core/sops.md
- reference/clan-core/state.md - reference/clan-core/state.md
- reference/clan-core/deployment.md - reference/clan-core/deployment.md
- reference/clan-core/machine.md
- reference/clan-core/networking.md - reference/clan-core/networking.md
- Nix API: - Nix API:
- reference/nix-api/index.md - reference/nix-api/index.md

View File

@@ -17,19 +17,18 @@ lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT
```nix hl_lines="14 40" ```nix hl_lines="14 40"
{ lib, ... }: { lib, ... }:
let let
suffix = config.clan.core.machine.diskId;
mirrorBoot = idx: { mirrorBoot = idx: {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${idx}"; device = "/dev/disk/by-id/${idx}";
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {
"boot-${suffix}" = { "${config.networking.hostName}-boot" = {
size = "1M"; size = "1M";
type = "EF02"; # for grub MBR type = "EF02"; # for grub MBR
priority = 1; priority = 1;
}; };
"ESP-${suffix}" = lib.mkIf (idx == "nvme-eui.002538b931b59865") { "${config.networking.hostName}-ESP" = lib.mkIf (idx == "nvme-eui.002538b931b59865") {
size = "1G"; size = "1G";
type = "EF00"; type = "EF00";
content = { content = {
@@ -39,7 +38,7 @@ lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT
mountOptions = [ "nofail" ]; mountOptions = [ "nofail" ];
}; };
}; };
"root-${suffix}" = { "${config.networking.hostName}-root" = {
size = "100%"; size = "100%";
content = { content = {
type = "zfs"; type = "zfs";
@@ -109,19 +108,18 @@ lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT
```nix hl_lines="14 40 41" ```nix hl_lines="14 40 41"
{ lib, ... }: { lib, ... }:
let let
suffix = config.clan.core.machine.diskId;
mirrorBoot = idx: { mirrorBoot = idx: {
type = "disk"; type = "disk";
device = "/dev/disk/by-id/${idx}"; device = "/dev/disk/by-id/${idx}";
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {
"boot-${suffix}" = { boot = {
size = "1M"; size = "1M";
type = "EF02"; # for grub MBR type = "EF02"; # for grub MBR
priority = 1; priority = 1;
}; };
"ESP-${suffix}" = lib.mkIf (idx == "nvme-eui.002538b931b59865") { ESP = lib.mkIf (idx == "nvme-eui.002538b931b59865") {
size = "1G"; size = "1G";
type = "EF00"; type = "EF00";
content = { content = {
@@ -131,7 +129,7 @@ lsblk --output NAME,ID-LINK,FSTYPE,SIZE,MOUNTPOINT
mountOptions = [ "nofail" ]; mountOptions = [ "nofail" ];
}; };
}; };
"root-${suffix}" = { zfs = {
size = "100%"; size = "100%";
content = { content = {
type = "zfs"; type = "zfs";

View File

@@ -88,8 +88,7 @@
"machines": { "machines": {
"test-inventory-machine": { "test-inventory-machine": {
"config": { "config": {
"device": "/dev/null", "device": "/dev/null"
"suffix": "foobar"
}, },
"imports": [] "imports": []
} }

View File

@@ -25,9 +25,6 @@ let
evaled = lib.evalModules { evaled = lib.evalModules {
modules = [ modules = [
baseModule baseModule
({
clan.core.clanDir = ./.;
})
clan-core.nixosModules.clanCore clan-core.nixosModules.clanCore
] ++ (map (name: clanModules.${name}) modulenames); ] ++ (map (name: clanModules.${name}) modulenames);
}; };

View File

@@ -18,6 +18,5 @@
./vm.nix ./vm.nix
./wayland-proxy-virtwl.nix ./wayland-proxy-virtwl.nix
./zerotier ./zerotier
./machine_id.nix
]; ];
} }

View File

@@ -1,58 +0,0 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.clan.core.machine;
in
{
options.clan.core.machine = {
id = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "The machine id";
};
idShort = lib.mkOption {
readOnly = true;
type = lib.types.nullOr lib.types.str;
description = "The short machine id";
};
diskId = lib.mkOption {
type = lib.types.nullOr lib.types.str;
description = "The disk id";
};
};
config = {
clan.core.machine.id =
lib.mkDefault
config.clan.core.facts.services."machine_id".public."machine_id".value;
clan.core.machine.idShort = if (cfg.id != null) then (lib.substring 0 8 cfg.id) else null;
clan.core.machine.diskId =
lib.mkDefault
config.clan.core.facts.services."machine_id".public."diskId".value;
clan.core.facts.services."machine_id" = {
public."machine_id" = { };
public."diskId" = { };
generator.path = [
pkgs.coreutils
];
generator.script = ''
machine_uuid=$(dd if=/dev/urandom bs=1 count=16 2>/dev/null | od -An -tx1 | tr -d ' \n')
disk_uuid=$(dd if=/dev/urandom bs=1 count=3 2>/dev/null | od -An -tx1 | tr -d ' \n')
echo -n "$machine_uuid" > "$facts"/machine_id
echo -n "$disk_uuid" > "$facts"/diskId
'';
};
networking.hostId = lib.mkIf (cfg.id != null) (lib.mkDefault cfg.idShort);
boot.kernelParams = lib.mkIf (cfg.id != null) [
''systemd.machine_id=${cfg.id}''
];
};
}

View File

@@ -112,15 +112,15 @@ const InstallMachine = (props: InstallMachineProps) => {
e.preventDefault(); e.preventDefault();
const curr_uri = activeURI(); const curr_uri = activeURI();
const disk = getValue(formStore, "disk"); const disk = getValue(formStore, "disk");
const diskId = props.disks.find((d) => d.name === disk)?.id_link; const disk_id = props.disks.find((d) => d.name === disk)?.id_link;
if (!curr_uri || !diskId || !props.name) { if (!curr_uri || !disk_id || !props.name) {
return; return;
} }
const r = await callApi("set_single_disk_uuid", { const r = await callApi("set_single_disk_uuid", {
base_path: curr_uri, base_path: curr_uri,
machine_name: props.name, machine_name: props.name,
disk_uuid: diskId, disk_uuid: disk_id,
}); });
if (r.status === "error") { if (r.status === "error") {
toast.error("Failed to set disk"); toast.error("Failed to set disk");

View File

@@ -1,8 +1,4 @@
{ lib, ... }: { lib, ... }:
let
suffix = config.clan.core.machine.diskId;
in
{ {
boot.loader.grub.efiSupport = lib.mkDefault true; boot.loader.grub.efiSupport = lib.mkDefault true;
boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true; boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true;
@@ -15,12 +11,12 @@ in
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {
"boot-${suffix}" = { "boot" = {
size = "1M"; size = "1M";
type = "EF02"; # for grub MBR type = "EF02"; # for grub MBR
priority = 1; priority = 1;
}; };
"ESP-${suffix}" = { "ESP" = {
size = "512M"; size = "512M";
type = "EF00"; type = "EF00";
content = { content = {
@@ -29,7 +25,7 @@ in
mountpoint = "/boot"; mountpoint = "/boot";
}; };
}; };
"root-${suffix}" = { "root" = {
size = "100%"; size = "100%";
content = { content = {
type = "filesystem"; type = "filesystem";

View File

@@ -1,8 +1,4 @@
{ lib, ... }: { lib, ... }:
let
suffix = config.clan.core.machine.diskId;
in
{ {
# TO NOT EDIT THIS FILE AFTER INSTALLATION of a machine # TO NOT EDIT THIS FILE AFTER INSTALLATION of a machine
# Otherwise your system might not boot because of missing partitions / filesystems # Otherwise your system might not boot because of missing partitions / filesystems
@@ -17,12 +13,12 @@ in
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {
"boot-${suffix}" = { "boot" = {
size = "1M"; size = "1M";
type = "EF02"; # for grub MBR type = "EF02"; # for grub MBR
priority = 1; priority = 1;
}; };
"ESP-${suffix}" = { "ESP" = {
size = "512M"; size = "512M";
type = "EF00"; type = "EF00";
content = { content = {
@@ -32,7 +28,7 @@ in
mountOptions = [ "nofail" ]; mountOptions = [ "nofail" ];
}; };
}; };
"root-${suffix}" = { "root" = {
size = "100%"; size = "100%";
content = { content = {
type = "filesystem"; type = "filesystem";