Add reusable k3s-node role with configurable options for server/agent modes. Configure john-endesktop as a k3s agent joining the cluster at 10.0.0.222. Role supports: - Server or agent role selection - Configurable server address and token file - Graceful node shutdown - Optional firewall port opening - Cluster initialization for first server Note: NixOS nodes must be labeled with `k3s-upgrade=disabled` to exclude them from the system-upgrade-controller, since NixOS manages k3s upgrades through Nix rather than in-place binary replacement.
57 lines
1.3 KiB
Nix
57 lines
1.3 KiB
Nix
{ lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
imports = [
|
|
./common.nix
|
|
./audio
|
|
./bluetooth
|
|
./btrfs
|
|
./desktop
|
|
./k3s-node
|
|
./kodi
|
|
./nfs-mounts
|
|
./nvidia
|
|
./printing
|
|
./remote-build
|
|
./spotifyd
|
|
./users
|
|
./virtualisation
|
|
];
|
|
|
|
config = {
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
i18n.extraLocaleSettings = {
|
|
LC_ADDRESS = "en_US.UTF-8";
|
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
LC_MEASUREMENT = "en_US.UTF-8";
|
|
LC_MONETARY = "en_US.UTF-8";
|
|
LC_NAME = "en_US.UTF-8";
|
|
LC_NUMERIC = "en_US.UTF-8";
|
|
LC_PAPER = "en_US.UTF-8";
|
|
LC_TELEPHONE = "en_US.UTF-8";
|
|
LC_TIME = "en_US.UTF-8";
|
|
};
|
|
|
|
services.xserver.xkb = {
|
|
layout = "us";
|
|
variant = "";
|
|
options = "caps:escape";
|
|
};
|
|
|
|
# Don't go to emergency mode if we aren't able to mount filesystems.
|
|
# This is silly if you have multiple hard drives or partitions
|
|
# configured on a machine and then one goes away intentionally or
|
|
# unintentionally. If the system is already booting, let it continue
|
|
# to try and boot.
|
|
systemd.enableEmergencyMode = false;
|
|
|
|
# Enable the OpenSSH daemon.
|
|
services.openssh.enable = true;
|
|
|
|
# NixOS-specific gc option (not available on Darwin)
|
|
nix.gc.randomizedDelaySec = "14m";
|
|
};
|
|
}
|