Some great feedback.
After spending hours juggling kernels and/or firmware files to either install or update NixOS on Raspberry Pi over the years I pretty much gave up. Something (boot process, wifi, etc.) is always broken. If/when I have a project involving Rpi I will go straight to Raspbian. I run NixOS on all my other machines including a VMWare VM and a couple of WSL VMs.
Before this article, I was convinced that the Raspberry Pi platform was relatively well-supported. I remember seeing demos a few years back, I wonder what happened…
Maybe @samueldr knows
Anecdotally, I have a Pi 3 Model B+ that worked without too much hassle (raboof/homeassistent-sbc: nix config for my homeassistant raspberry pi - homeassistent-sbc - Codeberg.org). Perhaps things got more complicated on version 4?
I used Rpi 0 W (tried, never succeeded) and 3 B (worked for a while, then some update broke it). I have just checked one of the issues I struggled with (Raspberry Pi 3B is missing wlan0 interface · Issue #115652 · NixOS/nixpkgs · GitHub) and it is still open.
My anecdotal experience is similar to @raboof - it just works, WiFi included, on RPi 3B running the default kernel (i.e. not the Raspberry Pi one).
Which does make me wonder whether the aarch64 UEFI iso warrants an extra note or link to additional documentation, afaict most consumer grade aarch64 devices don’t support UEFI out of the box…
There is still this issue open at nixos-hardware. Unfortunately I don’t really understand the hardware problems of the Pi and luckily I only use mine headless so I can just use them without those options and the mainline kernel.