fix(sunken-ship): add audioconvert to uxplay pipeline — fixes ALAC format error 🎵

feat(home): add uhk-agent for UHK keyboard configuration 🎹
This commit is contained in:
DannyDannyDanny 2026-04-06 11:55:06 +02:00
parent 1c7794e904
commit 4bccb6e6a8
2 changed files with 16 additions and 3 deletions

View file

@ -217,6 +217,7 @@
discord discord
mapscii mapscii
mpv mpv
uhk-agent # UHK keyboard configuration GUI + CLI
]); ]);
# First HM version for this user config; bump only if you understand the migration notes. # First HM version for this user config; bump only if you understand the migration notes.

View file

@ -73,12 +73,24 @@ in
publish = { enable = true; userServices = true; }; publish = { enable = true; userServices = true; };
}; };
# Open firewall for AirPlay (mDNS + UxPlay default ports). # Open firewall for AirPlay (mDNS + UxPlay default ports) + Navidrome.
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ 7000 7001 7100 ]; allowedTCPPorts = [ 7000 7001 7100 4533 ];
allowedUDPPorts = [ 5353 6000 6001 7011 ]; allowedUDPPorts = [ 5353 6000 6001 7011 ];
}; };
# Navidrome — self-hosted music streaming server (Subsonic API).
# Music library: /home/danny/music
# Web UI + Substreamer client on port 4533.
services.navidrome = {
enable = true;
settings = {
Address = "0.0.0.0";
Port = 4533;
MusicFolder = "/home/danny/music";
};
};
# UxPlay AirPlay receiver — audio-only, outputs directly to Scarlett Solo via ALSA. # UxPlay AirPlay receiver — audio-only, outputs directly to Scarlett Solo via ALSA.
# Runs as a system service (no PipeWire needed on a headless server). # Runs as a system service (no PipeWire needed on a headless server).
systemd.services.uxplay = { systemd.services.uxplay = {
@ -87,7 +99,7 @@ in
wants = [ "network-online.target" "avahi-daemon.service" ]; wants = [ "network-online.target" "avahi-daemon.service" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
ExecStart = ''${pkgs.uxplay}/bin/uxplay -n sunken-ship -p -vs 0 -as "alsasink device=plughw:USB,0 buffer-time=200000"''; ExecStart = ''${pkgs.uxplay}/bin/uxplay -n sunken-ship -p -vs 0 -as "audioconvert ! audioresample ! alsasink device=plughw:USB,0 buffer-time=200000"'';
Restart = "on-failure"; Restart = "on-failure";
RestartSec = 5; RestartSec = 5;
User = "danny"; User = "danny";