2024-11-25 13:56:52 -06:00
|
|
|
{
|
2025-12-28 21:18:13 -06:00
|
|
|
config,
|
2024-11-25 13:56:52 -06:00
|
|
|
lib,
|
2025-12-28 21:18:13 -06:00
|
|
|
metadata,
|
2024-11-25 13:56:52 -06:00
|
|
|
...
|
|
|
|
|
}:
|
2023-12-12 16:25:58 -06:00
|
|
|
{
|
2024-10-03 11:26:39 -05:00
|
|
|
imports = [
|
|
|
|
|
./hardware-configuration.nix
|
2024-11-25 13:56:52 -06:00
|
|
|
];
|
|
|
|
|
|
2025-04-14 22:58:03 -05:00
|
|
|
age.secrets = {
|
2026-02-19 08:06:54 -06:00
|
|
|
gitea-runner-isaiah-podman.file = ../../../secrets/gitea/runner-isaiah-podman.age;
|
|
|
|
|
gitea-workerPassword.file = ../../../secrets/gitea/workerPassword.age;
|
|
|
|
|
runner-reg.file = ../../../secrets/gitlab/kubernetes-k3s-local.age;
|
2025-04-14 22:58:03 -05:00
|
|
|
};
|
|
|
|
|
|
2024-11-25 13:56:52 -06:00
|
|
|
boot = {
|
|
|
|
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
|
|
|
|
extraModprobeConfig = "options kvm_amd nested=1";
|
|
|
|
|
kernel.sysctl = {
|
|
|
|
|
"net.bridge.bridge-nf-call-ip6tables" = 0;
|
|
|
|
|
"net.bridge.bridge-nf-call-iptables" = 0;
|
|
|
|
|
"net.bridge.bridge-nf-call-arptables" = 0;
|
|
|
|
|
};
|
|
|
|
|
loader = {
|
|
|
|
|
efi = {
|
|
|
|
|
canTouchEfiVariables = true;
|
|
|
|
|
efiSysMountPoint = "/boot";
|
|
|
|
|
};
|
|
|
|
|
systemd-boot = {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
supportedFilesystems = [ "ntfs" ];
|
|
|
|
|
};
|
|
|
|
|
|
2024-10-18 16:46:35 -05:00
|
|
|
greg = {
|
2025-07-02 23:07:08 -05:00
|
|
|
kubernetes = {
|
|
|
|
|
enable = true;
|
|
|
|
|
vipInterface = "enp38s0";
|
2025-12-28 21:18:13 -06:00
|
|
|
vip = metadata.hosts.${config.networking.hostName}.ip;
|
2025-07-02 23:07:08 -05:00
|
|
|
priority = 255;
|
|
|
|
|
};
|
2026-03-28 23:24:52 -05:00
|
|
|
nebula = {
|
|
|
|
|
enable = true;
|
|
|
|
|
unsafeRoutes = [
|
|
|
|
|
{
|
|
|
|
|
route = "10.42.0.0/16";
|
|
|
|
|
via = "10.157.0.2"; # genesis
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
2025-12-30 20:21:16 -06:00
|
|
|
podman.enable = true;
|
2025-11-15 14:08:34 -06:00
|
|
|
tailscale = {
|
|
|
|
|
enable = true;
|
|
|
|
|
tags = [ "home" ];
|
|
|
|
|
};
|
2024-10-18 16:46:35 -05:00
|
|
|
remote-builder.enable = true;
|
2025-11-02 22:33:05 -06:00
|
|
|
runner = {
|
|
|
|
|
enable = true;
|
|
|
|
|
qemu = true;
|
|
|
|
|
};
|
2024-10-18 16:46:35 -05:00
|
|
|
};
|
2023-12-12 23:22:29 -06:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
networking = {
|
2025-04-14 22:58:03 -05:00
|
|
|
firewall = {
|
|
|
|
|
enable = true;
|
|
|
|
|
allowedTCPPorts = [ 80 ];
|
|
|
|
|
checkReversePath = lib.mkForce false;
|
|
|
|
|
};
|
|
|
|
|
hostName = "isaiah";
|
2025-12-02 21:30:38 -06:00
|
|
|
interfaces.enp38s0.useDHCP = true;
|
2025-04-14 22:58:03 -05:00
|
|
|
useDHCP = false;
|
2024-10-03 11:26:39 -05:00
|
|
|
};
|
2024-11-25 13:56:52 -06:00
|
|
|
|
|
|
|
|
services = {
|
2025-12-30 20:21:16 -06:00
|
|
|
gitea-actions-runner.instances.podman = {
|
|
|
|
|
enable = true;
|
|
|
|
|
labels = [
|
|
|
|
|
"debian-latest:docker://node:25-trixie"
|
|
|
|
|
|
|
|
|
|
"ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
|
|
|
|
|
"ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04"
|
|
|
|
|
"ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
|
|
|
|
|
|
|
|
|
|
"ubuntu-full-latest:docker://ghcr.io/catthehacker/ubuntu:full-latest"
|
|
|
|
|
"ubuntu-full-24.04:docker://ghcr.io/catthehacker/ubuntu:full-24.04"
|
|
|
|
|
"ubuntu-full-22.04:docker://ghcr.io/catthehacker/ubuntu:full-22.04"
|
|
|
|
|
|
|
|
|
|
"ubuntu-act-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
|
|
|
|
|
"ubuntu-act-24.04:docker://ghcr.io/catthehacker/ubuntu:act-24.04"
|
|
|
|
|
"ubuntu-act-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04"
|
|
|
|
|
|
|
|
|
|
"ubuntu-runner-latest:docker://ghcr.io/catthehacker/ubuntu:runner-latest"
|
|
|
|
|
"ubuntu-runner-24.04:docker://ghcr.io/catthehacker/ubuntu:runner-24.04"
|
|
|
|
|
"ubuntu-runner-22.04:docker://ghcr.io/catthehacker/ubuntu:runner-22.04"
|
|
|
|
|
|
|
|
|
|
"ubuntu-rust-latest:docker://ghcr.io/catthehacker/ubuntu:rust-latest"
|
|
|
|
|
"ubuntu-rust-24.04:docker://ghcr.io/catthehacker/ubuntu:rust-24.04"
|
|
|
|
|
"ubuntu-rust-22.04:docker://ghcr.io/catthehacker/ubuntu:rust-22.04"
|
|
|
|
|
|
|
|
|
|
"nix-latest:docker://src.thehellings.com/greg/builder:latest"
|
|
|
|
|
];
|
|
|
|
|
name = "isaiah-podman";
|
2026-01-25 21:16:13 -06:00
|
|
|
settings = {
|
|
|
|
|
container.force_pull = true;
|
2026-02-02 10:41:41 -06:00
|
|
|
runner.capacity = 7;
|
2026-01-25 21:16:13 -06:00
|
|
|
};
|
2025-12-30 20:21:16 -06:00
|
|
|
tokenFile = config.age.secrets.gitea-runner-isaiah-podman.path;
|
|
|
|
|
url = "https://gitea.shire-zebra.ts.net";
|
|
|
|
|
};
|
2025-05-19 20:10:21 -05:00
|
|
|
k3s.clusterInit = true; # This is the first node in the cluster
|
2024-11-25 13:56:52 -06:00
|
|
|
openssh = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings.PermitRootLogin = "yes";
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-12-12 16:25:58 -06:00
|
|
|
}
|