{ config, lib, nixos-hardware, ... }: { # correctly configure hardware in this pi server. imports = [ nixos-hardware.nixosModules.raspberry-pi-4 ]; # boot settings boot = { loader = { grub.enable = false; generic-extlinux-compatible.enable = true; }; kernelModules = [ "wireguard" ]; }; zramSwap = { enable = true; algorithm = "zstd"; swapDevices = 1; memoryPercent = 100; }; # apply rpi4-specific device tree from nixos-hardware. hardware = { raspberry-pi."4".apply-overlays-dtmerge.enable = true; deviceTree = { enable = true; filter = "*rpi-4-*.dtb"; }; }; age.secrets.wireless-secrets = { file = ../../secrets/wireless-secrets.age; }; networking = { # todo: configure properly firewall.enable = lib.mkForce false; useDHCP = true; wireless = { enable = true; interfaces = [ "wlan0" ]; secretsFile = config.age.secrets.wireless-secrets.path; networks = { # yea this is my home network :3 # (my boyfriends brother picked the name) "Das asoziale Netzwerk".pskRaw = "ext:psk_home"; }; }; }; }