86 lines
2.9 KiB
Nix
Executable file
86 lines
2.9 KiB
Nix
Executable file
{ modulesPath, config, pkgs, lib, inputs, ... } @ args:
|
|
|
|
# Hetzner-VPS, keine eigene Hardware -- bewusst als Reduktionskandidat
|
|
# geführt, nicht als Endzustand: docs/roadmap.md §1 (Ersatz durch direktes
|
|
# IPv6 vom 5G-Router zu pinix), docs/operator-prompt.md §0 (verbleibende
|
|
# externe Abhängigkeiten aktiv abbauen, nicht nur tolerieren).
|
|
{
|
|
|
|
|
|
imports =
|
|
[
|
|
# ./hardware-configuration.nix
|
|
../user/drone.nix
|
|
../globalServices/default.nix
|
|
./localServices/default.nix
|
|
./disko.nix
|
|
(modulesPath + "/installer/scan/not-detected.nix")
|
|
(modulesPath + "/profiles/qemu-guest.nix")
|
|
];
|
|
|
|
boot.loader.grub = {
|
|
efiSupport = true;
|
|
efiInstallAsRemovable = true;
|
|
};
|
|
|
|
networking = {
|
|
hostName = "blunix";
|
|
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
|
};
|
|
|
|
networking.useDHCP = false;
|
|
networking.interfaces.enp1s0.useDHCP = true;
|
|
|
|
# Der Hoster weist ein /64 zu, das hier nie konfiguriert war: blunix hatte
|
|
# ausser der Link-Local-Adresse keine IPv6 (gefunden am 12.09.2026). Das
|
|
# war die Ursache dafuer, dass pinix -- IPv6-only hinter dem Mobilfunk --
|
|
# aus dem Tailnet gefallen ist: tailscaled loest selbst auf, nimmt den
|
|
# A-Eintrag von head.0ff.space und waehlt 23.88.33.137 direkt, obwohl
|
|
# pinix keine IPv4-Default-Route hat. Details: docs/pinix-reboot-probe.md.
|
|
#
|
|
# Vorgabe des Hosters (Metadaten-Schnittstelle): Adresse ::1 im
|
|
# zugewiesenen /64, Gateway als Link-Local fe80::1.
|
|
#
|
|
# Der dhcpcd-Fallstrick von pinix greift hier *nicht*: dort nahm eine
|
|
# statische IPv6 dem Host das Internet, weil das Modul `noipv6rs` setzt
|
|
# und damit die RA-Default-Route entfiel
|
|
# (docs/session-2026-09-12-pinix-traefik.md). Dieses Netz kennt ohnehin
|
|
# keine RA, die Route wird explizit gesetzt. IPv4 bleibt bei DHCP.
|
|
networking.interfaces.enp1s0.ipv6.addresses = [
|
|
{ address = config.publicIPv6; prefixLength = 64; }
|
|
];
|
|
networking.defaultGateway6 = {
|
|
address = "fe80::1";
|
|
interface = "enp1s0";
|
|
};
|
|
|
|
# Several concurrent Herdr agent panes routinely push this 3.7G-RAM VPS
|
|
# into OOM territory (found live 01.09.2026: killed a plain `nix eval`
|
|
# twice with exit 137). No swap was configured at all. A plain swap file
|
|
# on the existing ext4 root fits without touching disko's LVM layout.
|
|
swapDevices = [
|
|
{ device = "/var/swapfile"; size = 2048; }
|
|
];
|
|
|
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
|
|
|
environment.enableAllTerminfo = true;
|
|
|
|
################################################################################################################################################################
|
|
|
|
time.timeZone = "Europe/Berlin";
|
|
|
|
console.keyMap = "de";
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
nixpkgs.config.allowUnfree = true;
|
|
nix.settings.trusted-users = [ "root" "builder" "drone" "@wheel" ];
|
|
|
|
|
|
users.mutableUsers = true;
|
|
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
}
|
|
|