diff --git a/home-server.nix b/home-server.nix index 804868c..e1ac7b4 100644 --- a/home-server.nix +++ b/home-server.nix @@ -14,7 +14,6 @@ in with builtins; { ./hardware/gpu-intel.nix ./desktop/x11.nix ./system/server.nix - ./system/sound.nix ./modules/emailNotify.nix ./services/mail.nix ./services/restic/home-server.nix diff --git a/services/genie.nix b/services/genie.nix index d9eb6fe..07d1ca5 100644 --- a/services/genie.nix +++ b/services/genie.nix @@ -1,9 +1,14 @@ { config, lib, pkgs, ... }: +with lib; let dataDir = "/var/lib/genie-server"; port = 3232; ociBackend = config.virtualisation.oci-containers.backend; + + # enables embedded genie client which uses + # pulseaudio for speech recognition & replies + enableClient = false; in { systemd.services.genie-init = { enable = true; @@ -19,19 +24,17 @@ in { image = "stanfordoval/almond-server"; ports = [ "${toString port}:3000" ]; environment = { - PULSE_SERVER = "unix:/run/pulse/native"; THINGENGINE_HOST_BASED_AUTHENTICATION = "insecure"; + } // optionalAttrs enableClient { + PULSE_SERVER = "unix:/run/pulse/native"; }; - volumes = [ - "/dev/shm:/dev/shm" - "/run/user/1000/pulse:/run/pulse" - "${dataDir}:/var/lib/genie-server" - ]; + volumes = [ "/dev/shm:/dev/shm" "${dataDir}:/var/lib/genie-server" ] + ++ optionals enableClient [ "/run/user/1000/pulse:/run/pulse" ]; }; systemd.services."${ociBackend}-genie" = { - requires = [ "sound.target" ]; - after = [ "sound.target" ]; + requires = optionals enableClient [ "sound.target" ]; + after = optionals enableClient [ "sound.target" ]; before = [ "home-assistant.service" ]; }; }