feat: add minilab

This commit is contained in:
Nickolaj Jepsen 2026-01-22 19:05:24 +01:00
parent c16d6d1b4d
commit 30a41e2fec
23 changed files with 3194 additions and 21 deletions

View file

@ -50,5 +50,6 @@ in {
homelab = mkSystem {host = ./homelab;};
bootstrap = mkSystem {host = ./bootstrap;};
desktop-wsl = mkSystem {host = ./desktop-wsl;};
minilab = mkSystem {host = ./minilab;};
};
}

26
hosts/minilab/default.nix Normal file
View file

@ -0,0 +1,26 @@
{
config = {
fireproof = {
hostname = "minilab";
username = "nickolaj";
desktop = {
enable = true;
chromium.enable = false;
zed.enable = false;
};
dev = {
enable = true;
intellij.enable = false;
clickhouse.enable = false;
playwright.enable = false;
};
};
facter.reportPath = ./facter.json;
};
imports = [
./disk-configuration.nix
./monitors.nix
];
}

View file

@ -0,0 +1,62 @@
_: {
disko.devices = {
disk = {
main = {
device = "/dev/disk/by-id/mmc-hB8aP__0x1023fd20";
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
name = "boot";
size = "1M";
type = "EF02";
};
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["defaults"];
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "crypted";
# Copied by deploy script, otherwise it will prompt for password
passwordFile = "/luks-password";
settings = {
allowDiscards = true;
bypassWorkqueues = true;
};
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"@" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
};
"@nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
"@home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
}

3021
hosts/minilab/facter.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
_: {
monitors = [
{
name = "DP-2";
resolution = {
width = 1920;
height = 1200;
};
refreshRate = 60;
refreshRateNiri = 60.000;
transform = 1;
}
];
}