This repository has been archived on 2026-09-17. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
nixos-config/hosts/blunix/configuration.nix

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";
}