The Pi 4 is the daily driver of the two: an 8 GB aarch64 board running Arch Linux ARM (Manjaro flavour) on a 64 GB SD. It does triple duty — small i3 desktop on a 7" DSI touchscreen, audio appliance via PipeWire + MPD + ncmpcpp + cava, and (post-2026-05-19) the smart-home + media role taken over from the RPI3.
Hardware
- Raspberry Pi 4B, 8 GB RAM, aarch64
- 64 GB micro-SD root + 11 GB zram swap
- 466 GB Samsung T5 portable SSD at
/mnt/media(migrated from the RPI3) - Official Pi 7" DSI touchscreen, RPI wired keyboard, USB optical mouse
- Sonoff Zigbee 3.0 USB Dongle Plus V2 (CC2652P / CP210x bridge) on
/dev/ttyUSB0— the Zigbee coordinator radio
OS / kernel
- Arch Linux ARM, kernel
6.6.33-2-MANJARO-RPI4 - Wired via powered Wavlink USB NIC (
dhcpcd); onboard Wi-Fi is backup only — itsbrcmfmacdriver oopsed and hung the Pi once (2026-06-27), sopanic_on_oops=1+ hardware watchdog (14 s) now auto-reboot it - mDNS via
systemd-resolved: reachable atrpi.local
Desktop / userland
- i3-wm + polybar + picom + nitrogen + rofi + i3lock (configs live in
~rpi/.config/type-dots/as a GNU-stow tree; X must be started as therpiuser, not root, or the wallpaper + polybar fail to load) - Alacritty, Emacs 30, Chromium
- Audio stack: PipeWire + MPD 0.24 + Mopidy + ncmpcpp + cava + Icecast
Services
sshd(port 22),minidlna(port 8200, library at/mnt/media)docker, one compose dir per service under/srv/:- Home Assistant on
:8123(/srv/homeassistant/), Mosquitto:1883, Zigbee2MQTT:8080driving the Aqara curtain via the Sonoff dongle - Frigate
:8082— two Tapo cams, motion-only, no detector - Jellyfin
:8096, Samba (/srv/abaj) - Pi-hole
:8081— LAN-wide DNS ad blocking (/srv/pihole/). Lists: StevenBlack + HaGeZi Pro (~306k). Admiral-protected sites (many recipe blogs) can’t be fixed at DNS level: loader blocked ⇒ “problem loading” popup + stripped page; loader allowed ⇒ “Please allow ads” wall. Keep the loader allowed and use Reader View / Safari+AdGuard. Port 53 is bound to the Pi’s LAN + Tailscale IPs, not0.0.0.0(systemd-resolved stub owns127.0.0.53) → an IP change breaks it silently; editports:+FTLCONF_dns_revServersand recreate. Router DHCP hands out the Pi as sole DNS (since 2026-09-30) — Pi down ⇒ LAN DNS down.
- Home Assistant on
rtorrentunder systemd (tmux-wrapped, attach withtmux a -t rtorrent), watch dir/mnt/media/torrents/watch/