Files
nixos/raspberry
Dominik Polakovics 53d73142ae Add a11ywatch and related configurations for Podman and Nginx
- Introduced a new module for a11ywatch with Podman support, creating a bridge network and defining backend and frontend containers.
- Configured Nginx to serve the a11ywatch application with SSL and ACME support.
- Added user and group configurations for a11ywatch.
- Created a systemd service to ensure the Podman network exists on boot.

Implement Firefox Container Controller extension and host

- Added a module for the Firefox Container Controller extension, allowing installation via Nix.
- Created a native messaging host for the extension to communicate with the container controller.
- Included CLI helpers to enqueue commands for showing and hiding containers.

Enable fingerprint authentication in PAM

- Configured fingerprint authentication for login, sudo, and swaylock services.

Setup Raspberry Pi OS image creation script

- Developed a script to create a read-only Raspberry Pi OS Lite image with Snapcast client.
- Included configuration for Wi-Fi, hostname, and Snapcast server.
- Implemented user and group setup for Snapcast client and ensured necessary services are enabled.

Document Raspberry Pi Zero W setup instructions

- Added detailed instructions for configuring Raspberry Pi OS on Zero W, including disabling unused services and setting up Snapcast client.

Create test configuration script for NixOS

- Implemented a script to perform dry-builds for NixOS configurations, allowing for easy validation of host configurations.
2025-05-29 00:10:07 +02:00
..
2024-12-29 22:04:44 +01:00
2024-09-27 23:10:58 +02:00
2024-02-16 22:24:54 +01:00
2024-10-16 20:24:40 +02:00

before building set Tempdir because of ramdisk size export TMPDIR=/nix/persist/home/dominik/tmp/build-sdcard

Raspberry Pi Multiroom audio client

  • change hostname in sd-card.nix
  • add wifi psk
  • nix-build '<nixpkgs/nixos>' --cores 4 -A config.system.build.sdImage -I nixos-config=./sd-card.nix --argstr system aarch64-linux

raspberry Pi Zero Mutliroom audio client

  • change hostname in sd-card-zero.nix
  • add wifi psk
  • nix-build '<nixpkgs/nixos>' -A config.system.build.sdImage -I nixos-config=./sd-card-zero.nix --argstr system aarch64-linux

install rasberry pi os connect via ssh

edit /boot/firmware/config.txt dtoverlay=hifiberry-dacplus-std force_eeprom_read=0 auto_initramfs=1 disable_fw_kms_setup=1 arm_64bit=1 disable_overscan=1 arm_boost=1 [cm4] otg_mode=1 [cm5] dtoverlay=dwc2,dr_mode=host

edit /boot/firmware/cmdline.txt add ro to the end of the line

setup user and group snapclient, add to audio group sudo groupadd -r snapclient sudo useradd -r -g snapclient -G audio snapclient download snapclient release arm64 with pulse wget https://github.com/badaix/snapcast/releases/download/v0.31.0/snapclient_0.31.0-1_arm64_bookworm_with-pulse.deb wget https://github.com/badaix/snapcast/releases/download/v0.31.0/snapclient_0.31.0-1_armhf_bookworm_with-pulse.deb

install deb package sudo dpkg -i snapclient_0.31.0-1_arm64_bookworm_with-pulse.deb sudo dpkg -i snapclient_0.31.0-1_armhf_bookworm_with-pulse.deb sudo apt install -f -y vim.tiny /etc/default/snapclient START_SNAPCLIENT=true SNAPCLIENT_OPTS="--hostID music-bedroom -h snapcast.cloonar.com"

sudo systemctl enable snapclient make filesystem read-only mv /etc/resolv.conf /var/run/ ln -s /var/run/resolv.conf /etc/resolv.conf add /etc/NetworkManager/NetworkManager.conf main rc-manager=file

change /etc/fstab proc /proc proc defaults 0 0 PARTUUID=3bd31f85-01 /boot/firmware vfat defaults,ro 0 2 PARTUUID=3bd31f85-02 / ext4 defaults,noatime,ro 0 1

tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev 0 0 tmpfs /var/tmp tmpfs defaults,noatime,nosuid,nodev 0 0 tmpfs /var/log tmpfs defaults,noatime,nosuid,nodev,noexec 0 0 tmpfs /var/lib/dhcp tmpfs defaults,noatime,nosuid,nodev,noexec 0 0