- 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.
69 lines
1.8 KiB
Nix
69 lines
1.8 KiB
Nix
{
|
|
services.home-assistant.extraComponents = [
|
|
"squeezebox"
|
|
"slimproto"
|
|
];
|
|
services.home-assistant.config = {
|
|
"automation toilet music" = {
|
|
alias = "toilet music";
|
|
trigger = {
|
|
platform = "state";
|
|
entity_id = "light.toilet_switch";
|
|
};
|
|
action = [
|
|
{
|
|
service = "media_player.volume_mute";
|
|
target = {
|
|
entity_id = "media_player.music_toilet";
|
|
};
|
|
data = {
|
|
is_volume_muted = "{{ trigger.to_state.state != 'on' }}";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
"automation bathroom music" = {
|
|
alias = "bathroom music";
|
|
trigger = {
|
|
platform = "state";
|
|
entity_id = "light.bathroom_switch";
|
|
};
|
|
action = [
|
|
{
|
|
service = "media_player.volume_mute";
|
|
target = {
|
|
entity_id = "media_player.music_bathroom";
|
|
};
|
|
data = {
|
|
is_volume_muted = "{{ trigger.to_state.state != 'on' }}";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
"automation piano" = {
|
|
alias = "piano";
|
|
trigger = {
|
|
platform = "state";
|
|
entity_id = "media_player.music_piano";
|
|
attribute = "is_volume_muted";
|
|
};
|
|
condition = [
|
|
{
|
|
condition = "template";
|
|
value_template = "{{ trigger.from_state.state != 'unavailable' }}";
|
|
}
|
|
{
|
|
condition = "template";
|
|
value_template = "{{ state_attr('media_player.music_piano_snapcast_client', 'is_volume_muted') == true or state_attr('media_player.music_piano_snapcast_client', 'is_volume_muted') == false }}";
|
|
}
|
|
];
|
|
action = {
|
|
service = "switch.turn_on";
|
|
target = {
|
|
entity_id = "switch.piano_switch_power";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|