party/colorchord: init

This commit is contained in:
Simon Bruder 2021-12-28 11:42:39 +01:00
parent c953b128b7
commit 5b928180b1
No known key found for this signature in database
GPG key ID: 8D3C82F9F309F8EC
5 changed files with 125 additions and 0 deletions

View file

@ -3,6 +3,7 @@
{
imports = [
./hardware-configuration.nix
./services
];
console.keyMap = "de";

View file

@ -0,0 +1,87 @@
{ inputs, lib, pkgs, ... }:
let
devices = {
traverse = {
leds = 116;
host = "wled-Traverse";
};
nhecke = {
leds = 75;
host = "wled-Nhecke";
};
printerbench = {
leds = 80;
host = "wled-Printerbench";
};
resedaraum = {
leds = 285;
host = "wled-Resedaraum";
loop = true;
};
kanister = {
leds = 43;
host = "wled-Kanister";
};
};
in
{
environment.systemPackages = with pkgs; [
colorchord2
];
environment.etc = lib.mapAttrs'
(name: config: lib.nameValuePair
"colorchord/${name}.conf"
{
text = ''
# Basic
outdrivers = DisplayNetwork, OutputLinear
headless = 1
# Audio input
amplify = 10
samplerate = 48000
devrecord = alsa_output.usb-BurrBrown_from_Texas_Instruments_USB_AUDIO_CODEC-00.analog-stereo.monitor
# Visualiser
cpu_autolimit = 1
satamp = 1
# LED config
leds = ${toString config.leds}
is_loop = ${if config ? loop && config.loop then "1" else "0"}
light_siding = 1.5
led_floor = 0.1
steady_bright = 1
fliprg = 0
# WLED
wled_realtime = 1
port = 19446
address = ${config.host}
wled_timeout = 2
skipfirst = 0
'';
})
devices;
systemd.user.services."colorchord@" = {
partOf = [ "colorchord.target" ];
serviceConfig = {
ExecStart = ''
${pkgs.colorchord2}/bin/colorchord /etc/colorchord/%i.conf
'';
Restart = "always";
};
};
systemd.user.targets."colorchord" = {
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
wants = map (name: "colorchord@${name}.service") (lib.attrNames devices);
};
nixpkgs.overlays = with inputs; [
sbruder-overlay.overlay
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
./colorchord.nix
];
}