CI / flake (push) Skipped
CI / flake (pull_request) Failing after 3m37s
A headless aarch64 companion for a Psion 5MX: PPP over RS232 with NAT out to wifi and a telnet login, plus a cleartext POP3/SMTP proxy for the Psion's mail client. - hosts/PiZero2W/: host config, serial-ppp.nix, email-proxy.nix, an SD-image variant, and a hardware-configuration.nix placeholder. - Host table entry on nixos-hardware's raspberry-pi-3 profile; the Zero 2 W is the Pi 3's BCM2837 SoC. nixpkgs' linuxPackages_rpi02w is deprecated and warns that the linux-rpi series is being removed in favour of nixos-hardware. - The host owns its firmware partition (hardware.raspberry-pi.firmware), which is what puts the disable-bt and uart0/ctsrts overlays in config.txt so /dev/ttyAMA0 is the RS232 header rather than Bluetooth. uboot.enable keeps the U-Boot -> extlinux boot path the rewritten config.txt would otherwise lose. - packages.aarch64-linux.zero2w-sd-image: the host's own configuration as an installable card. The board has no Ethernet and no free serial port, so a generic image would leave no way in. - The mail proxy comes from the legacy-email-proxy flake, which provides the package and the NixOS module; nothing about it is vendored here. - docs/hosts/pizero2w.md, plus README host table and shared-layer notes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
34 lines
1.3 KiB
Nix
34 lines
1.3 KiB
Nix
# PLACEHOLDER hardware configuration for the Raspberry Pi Zero 2 W.
|
|
#
|
|
# This file is NOT the real generated config -- it exists only so the host
|
|
# evaluates in CI before the Pi is provisioned. The machine will not boot from
|
|
# it as-is. On first install, regenerate this file on the device with
|
|
# nixos-generate-config --root /mnt
|
|
# and replace this placeholder with the output (commit it). See ../../docs/hosts/pizero2w.md.
|
|
#
|
|
# Like every hardware-configuration.nix in this repo, this file is excluded from
|
|
# the formatter and linters (see the pre-commit/treefmt excludes in flake.nix).
|
|
{ modulesPath, ... }:
|
|
{
|
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
|
|
|
nixpkgs.hostPlatform = "aarch64-linux";
|
|
|
|
# The Zero 2 W boots from an SD card with a FAT firmware partition and an ext4
|
|
# root. Labels match the conventional sd-image layout; the real generated
|
|
# config will use by-uuid device paths instead.
|
|
fileSystems."/" = {
|
|
device = "/dev/disk/by-label/NIXOS_SD";
|
|
fsType = "ext4";
|
|
};
|
|
|
|
fileSystems."/boot/firmware" = {
|
|
device = "/dev/disk/by-label/FIRMWARE";
|
|
fsType = "vfat";
|
|
};
|
|
|
|
# 512 MB of RAM and an SD card: no swap partition (SD cards wear out under
|
|
# swap writes). zram takes its place; see ../../hosts/PiZero2W/configuration.nix.
|
|
swapDevices = [ ];
|
|
}
|