{ config, lib, ... }: { config = { pim = { cinnamon.enable = true; }; facter.reportPath = ./facter.json; networking.hostName = "gamepc"; services = { openssh.enable = true; tailscale.enable = true; }; users.users = { root.password = ""; pim = { openssh.authorizedKeys.keys = config.pim.ssh.keys.pim; password = ""; }; }; boot.loader.grub = { enable = true; efiSupport = true; efiInstallAsRemovable = true; }; disko.devices.disk = lib.genAttrs ["0" "1"] (name: { type = "disk"; device = "/dev/nvme${name}n1"; content = { type = "gpt"; partitions = { boot = { size = "1M"; type = "EF02"; # for grub MBR }; ESP = { size = "500M"; type = "EF00"; content = { type = "mdraid"; name = "boot"; }; }; mdadm = { size = "100%"; content = { type = "mdraid"; name = "raid0"; }; }; }; }; }); disko.devices.mdadm = { boot = { type = "mdadm"; level = 1; metadata = "1.0"; content = { type = "filesystem"; format = "vfat"; mountpoint = "/boot"; }; }; raid0 = { type = "mdadm"; level = 0; content = { type = "gpt"; partitions = { primary = { end = "-4G"; content = { type = "filesystem"; format = "ext4"; mountpoint = "/"; }; }; swap = { size = "100%"; content = { type = "swap"; }; }; }; }; }; }; }; }