From ba6060e55a6065f66eafcfc4b69d087363332667 Mon Sep 17 00:00:00 2001 From: Kat Inskip Date: Mon, 15 Jan 2024 15:33:12 -0800 Subject: [PATCH] feat(systems/kuwubernetes): init --- meta.nix | 54 +++++++++++++++++++--------------- nixos/base/locale.nix | 11 +++---- nixos/k3s.nix | 20 +++++++++++++ systems/kuwubernetes/nixos.nix | 37 +++++++++++++++++++++++ 4 files changed, 94 insertions(+), 28 deletions(-) create mode 100644 nixos/k3s.nix create mode 100644 systems/kuwubernetes/nixos.nix diff --git a/meta.nix b/meta.nix index 21b3406e..20c1e37f 100644 --- a/meta.nix +++ b/meta.nix @@ -19,29 +19,37 @@ eval = let nixosNodes = [ { - network.nodes.tewi = { - imports = [ - ./systems/tewi/nixos.nix - nixfiles.nixos.base - ]; - }; - network.nodes.tei = { - imports = [ - ./systems/tei/nixos.nix - nixfiles.nixos.base - ]; - }; - network.nodes.mediabox = { - imports = [ - ./systems/mediabox/nixos.nix - nixfiles.nixos.base - ]; - }; - network.nodes.reisen-ct = { - imports = [ - ./systems/ct/nixos.nix - nixfiles.nixos.base - ]; + network.nodes = { + tewi = { + imports = [ + ./systems/tewi/nixos.nix + nixfiles.nixos.base + ]; + }; + tei = { + imports = [ + ./systems/tei/nixos.nix + nixfiles.nixos.base + ]; + }; + mediabox = { + imports = [ + ./systems/mediabox/nixos.nix + nixfiles.nixos.base + ]; + }; + reisen-ct = { + imports = [ + ./systems/ct/nixos.nix + nixfiles.nixos.base + ]; + }; + kuwubernetes = { + imports = [ + ./systems/kuwubernetes/nixos.nix + nixfiles.nixos.base + ]; + }; }; } ]; diff --git a/nixos/base/locale.nix b/nixos/base/locale.nix index 57154a1f..82b72904 100644 --- a/nixos/base/locale.nix +++ b/nixos/base/locale.nix @@ -1,6 +1,8 @@ -{ config, pkgs, ... }: - { + config, + pkgs, + ... +}: { fonts.packages = [ pkgs.tamzen ]; @@ -10,11 +12,10 @@ "en_CA.UTF-8/UTF-8" "en_GB.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" - "en_DK.UTF-8/UTF-8" ]; }; console = { - packages = [ pkgs.tamzen ]; - keyMap = "uk"; + packages = [pkgs.tamzen]; + keyMap = "us"; }; } diff --git a/nixos/k3s.nix b/nixos/k3s.nix new file mode 100644 index 00000000..22283e2d --- /dev/null +++ b/nixos/k3s.nix @@ -0,0 +1,20 @@ +{pkgs, ...}: { + networking.firewall = { + allowedTCPPorts = [ + 6443 + ]; + allowedUDPPorts = [ + ]; + }; + + services.k3s = { + enable = true; + role = "server"; + disableAgent = false; # single node server+agent + extraFlags = toString [ + "--disable=servicelb" # we want to use metallb + ]; + }; + + environment.systemPackages = [pkgs.k3s]; +} diff --git a/systems/kuwubernetes/nixos.nix b/systems/kuwubernetes/nixos.nix new file mode 100644 index 00000000..74b7f61d --- /dev/null +++ b/systems/kuwubernetes/nixos.nix @@ -0,0 +1,37 @@ +{ + config, + meta, + lib, + modulesPath, + ... +}: { + imports = with meta; [ + (modulesPath + "/profiles/qemu-guest.nix") + nixos.k3s + ]; + + boot = { + initrd.availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + loader.grub.device = "/dev/sda"; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/efb3698c-2471-4b44-b82a-4b9d4a070da6"; + fsType = "ext4"; + }; + + swapDevices = [ + {device = "/dev/disk/by-uuid/b374e454-7af5-46fc-b949-24e38a2216d5";} + ]; + + networking.interfaces.ens18.useDHCP = true; + + system.stateVersion = "23.11"; +}