party/colorchord: init
This commit is contained in:
parent
c953b128b7
commit
5b928180b1
5 changed files with 125 additions and 0 deletions
|
|
@ -3,6 +3,7 @@
|
|||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./services
|
||||
];
|
||||
|
||||
console.keyMap = "de";
|
||||
|
|
|
|||
87
machines/party/services/colorchord.nix
Normal file
87
machines/party/services/colorchord.nix
Normal 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
|
||||
];
|
||||
}
|
||||
5
machines/party/services/default.nix
Normal file
5
machines/party/services/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./colorchord.nix
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue