- 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.
68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
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
|