{ config, pkgs, lib, nixos-hardware, ... }: { # correctly configure hardware in this pi server. imports = [ nixos-hardware.nixosModules.raspberry-pi-4 ../../modules/hardware/ads7846.nix #../../modules/hardware/ili9486.nix ]; # boot settings boot = { kernelPackages = lib.mkForce pkgs.linuxPackages_rpi4; loader = { grub.enable = false; generic-extlinux-compatible.enable = true; }; plymouth.enable = true; kernelModules = [ ]; }; 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; fkms-3d.enable = true; }; deviceTree = { enable = true; filter = "bcm2711-rpi-4*.dtb"; }; }; age.secrets.wireless-secrets = { file = ../../secrets/wireless-secrets.age; }; networking = { firewall.enable = lib.mkForce false; wireless = { enable = true; interfaces = [ "wlan0" ]; secretsFile = config.age.secrets.wireless-secrets.path; networks."Das asoziale Netzwerk".pskRaw = "ext:psk_home"; }; }; systemd.network = { networks = { "10-wired" = { name = "end0"; DHCP = "yes"; dhcpV4Config.RouteMetric = 100; networkConfig.RequiredForOnline = "no"; }; "20-wireless" = { name = "wlan0"; DHCP = "yes"; dhcpV4Config.RouteMetric = 600; networkConfig.RequiredForOnline = "no"; }; }; }; }