feat(systems): add tortoise NixOS host configuration

Registers the tortoise machine in flake.nix and adds its system
configuration with a placeholder hardware config (ZFS root pool,
x86_64) to be replaced by the installer-generated hardware-configuration.nix.
This commit is contained in:
2026-07-01 23:06:34 -04:00
parent d619bd8f16
commit cf62f38a3d
4 changed files with 117 additions and 0 deletions
+6
View File
@@ -126,6 +126,12 @@
];
specialArgs = { inherit inputs outputs; };
};
tortoise = lib.nixosSystem {
modules = [
./systems/tortoise
];
specialArgs = { inherit inputs outputs; };
};
iso = lib.nixosSystem {
modules = [
./systems/iso
+37
View File
@@ -0,0 +1,37 @@
{ inputs, ... }:
{
imports = [
"${inputs.self}/users/richie"
"${inputs.self}/common/global"
"${inputs.self}/common/optional/monitoring-agent.nix"
"${inputs.self}/common/optional/ssh_decrypt.nix"
"${inputs.self}/common/optional/systemd-boot.nix"
"${inputs.self}/common/optional/update.nix"
"${inputs.self}/common/optional/zerotier.nix"
./hardware.nix
];
boot.kernelParams = [ "panic=10" ];
networking = {
hostName = "tortoise";
hostId = "161cbd68";
firewall.enable = true;
networkmanager.enable = true;
};
services = {
openssh.ports = [ 867 ];
};
systemd = {
enableEmergencyMode = false;
# Only takes effect if the board exposes a hardware watchdog device.
settings.Manager = {
RuntimeWatchdogSec = "30s";
RebootWatchdogSec = "2m";
};
};
system.stateVersion = "26.11";
}
+69
View File
@@ -0,0 +1,69 @@
{
config,
lib,
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd = {
availableKernelModules = [
"ahci"
"ehci_pci"
"nvme"
"sd_mod"
"usb_storage"
"usbhid"
"xhci_pci"
];
kernelModules = [ ];
luks.devices."luks-root-pool-ata-Samsung_SSD_870_EVO_4TB_S757NL0Y315721H-part2" = {
device = "/dev/disk/by-id/ata-Samsung_SSD_870_EVO_4TB_S757NL0Y315721H-part2";
bypassWorkqueues = true;
allowDiscards = true;
};
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
fileSystems = {
"/" = lib.mkDefault {
device = "root_pool/root";
fsType = "zfs";
};
"/home" = {
device = "root_pool/home";
fsType = "zfs";
};
"/var" = {
device = "root_pool/var";
fsType = "zfs";
};
"/nix" = {
device = "root_pool/nix";
fsType = "zfs";
};
"/boot" = {
device = "/dev/disk/by-uuid/223B-9F08";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
};
swapDevices = [ ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+5
View File
@@ -0,0 +1,5 @@
{
imports = [
../home/global.nix
];
}