Add ledfx option

This commit is contained in:
Sandro - 2023-10-04 00:11:11 +02:00
parent 1065d5fb09
commit 1cd91134c0
Signed by: sandro
GPG Key ID: 3AF5A43A3EECC2E5
2 changed files with 14 additions and 8 deletions

View File

@ -6,7 +6,10 @@
]; ];
c3d2 = { c3d2 = {
audioServer.enable = true; audioServer = {
enable = true;
ledfx = true;
};
baremetal = true; baremetal = true;
hq = { hq = {
interface = "eth0"; interface = "eth0";

View File

@ -40,13 +40,17 @@ let
]; ];
}; };
}; };
cfg = config.c3d2.audioServer;
in in
{ {
options.c3d2.audioServer = { options.c3d2.audioServer = {
enable = lib.mkEnableOption "Enable PulseAudio and Bluetooth sinks"; enable = lib.mkEnableOption "PulseAudio and Bluetooth sinks";
ledfx = lib.mkEnableOption "LedFX service";
}; };
config = lib.mkIf config.c3d2.audioServer.enable { config = lib.mkIf cfg.enable {
boot.kernelPackages = lib.mkOverride 900 pkgs.linuxPackages-rt_latest; boot.kernelPackages = lib.mkOverride 900 pkgs.linuxPackages-rt_latest;
environment = { environment = {
@ -97,8 +101,7 @@ in
}; };
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts = lib.optional cfg.ledfx 80 ++ [
80 # ledfx
4713 # pulseaudio/pipewire network sync 4713 # pulseaudio/pipewire network sync
]; ];
allowedUDPPorts = [ allowedUDPPorts = [
@ -155,7 +158,7 @@ in
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; # required for ledfx alsa.enable = lib.mkIf cfg.ledfx true; # required for ledfx
config = lib.mkIf (!is2305) { config = lib.mkIf (!is2305) {
pipewire-pulse = pipewire-pulse =
let let
@ -221,11 +224,11 @@ in
}; };
user.services = { user.services = {
ledfx = { ledfx = lib.mkIf cfg.ledfx {
after = [ "pipewire.target" ]; after = [ "pipewire.target" ];
wantedBy = [ "default.target" ]; wantedBy = [ "default.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.ledfx}/bin/ledfx"; ExecStart = lib.getExe pkgs.ledfx;
}; };
}; };
pipewire-pulse.enable = true; pipewire-pulse.enable = true;