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

27
flake.lock generated
View file

@ -135,9 +135,36 @@
"nixpkgs": "nixpkgs",
"nixpkgs-asterisk": "nixpkgs-asterisk",
"nixpkgs-unstable": "nixpkgs-unstable",
"sbruder-overlay": "sbruder-overlay",
"sops-nix": "sops-nix"
}
},
"sbruder-overlay": {
"inputs": {
"flake-utils": [
"flake-utils"
],
"nix-pre-commit-hooks": [
"nix-pre-commit-hooks"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1638388788,
"narHash": "sha256-4t+iDoZO9X8fM1cWfbCbsIagRN0PRkpGcJKaMLJE7yc=",
"owner": "sbruder",
"repo": "nixpkgs-overlay",
"rev": "72d323ca0410a08abc2d981b812c5cd0fd3338bf",
"type": "github"
},
"original": {
"owner": "sbruder",
"repo": "nixpkgs-overlay",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [

View file

@ -20,6 +20,11 @@
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
sbruder-overlay.url = "github:sbruder/nixpkgs-overlay";
sbruder-overlay.inputs.flake-utils.follows = "flake-utils";
sbruder-overlay.inputs.nix-pre-commit-hooks.follows = "nix-pre-commit-hooks";
sbruder-overlay.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =

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
];
}