From 1cd91134c01f322d33678bcc2234e66e1e1d548d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 4 Oct 2023 00:11:11 +0200 Subject: [PATCH] Add ledfx option --- hosts/pipebert/default.nix | 5 ++++- modules/audio-server.nix | 17 ++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/hosts/pipebert/default.nix b/hosts/pipebert/default.nix index 9b9a39f6..43538807 100644 --- a/hosts/pipebert/default.nix +++ b/hosts/pipebert/default.nix @@ -6,7 +6,10 @@ ]; c3d2 = { - audioServer.enable = true; + audioServer = { + enable = true; + ledfx = true; + }; baremetal = true; hq = { interface = "eth0"; diff --git a/modules/audio-server.nix b/modules/audio-server.nix index e7090b0e..4b08e99a 100644 --- a/modules/audio-server.nix +++ b/modules/audio-server.nix @@ -40,13 +40,17 @@ let ]; }; }; + + cfg = config.c3d2.audioServer; in { 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; environment = { @@ -97,8 +101,7 @@ in }; networking.firewall = { - allowedTCPPorts = [ - 80 # ledfx + allowedTCPPorts = lib.optional cfg.ledfx 80 ++ [ 4713 # pulseaudio/pipewire network sync ]; allowedUDPPorts = [ @@ -155,7 +158,7 @@ in services.pipewire = { enable = true; - alsa.enable = true; # required for ledfx + alsa.enable = lib.mkIf cfg.ledfx true; # required for ledfx config = lib.mkIf (!is2305) { pipewire-pulse = let @@ -221,11 +224,11 @@ in }; user.services = { - ledfx = { + ledfx = lib.mkIf cfg.ledfx { after = [ "pipewire.target" ]; wantedBy = [ "default.target" ]; serviceConfig = { - ExecStart = "${pkgs.ledfx}/bin/ledfx"; + ExecStart = lib.getExe pkgs.ledfx; }; }; pipewire-pulse.enable = true;