summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/home/rhasspy/default.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2023-06-03 15:27:46 +0200
committermakefu <github@syntax-fehler.de>2023-06-03 15:27:46 +0200
commitbe3284417942c0164c1b32c9cf34ba44bcfb86c3 (patch)
tree4302b9ce28125003e4daf5ae411f65cef58537ef /makefu/2configs/home/rhasspy/default.nix
parentdd0a6294c8699640f47127f237104aac9d96c896 (diff)
ma home: deploy home-assistant via docker
Diffstat (limited to 'makefu/2configs/home/rhasspy/default.nix')
-rw-r--r--makefu/2configs/home/rhasspy/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/makefu/2configs/home/rhasspy/default.nix b/makefu/2configs/home/rhasspy/default.nix
new file mode 100644
index 000000000..e3a0bcd28
--- /dev/null
+++ b/makefu/2configs/home/rhasspy/default.nix
@@ -0,0 +1,40 @@
+{ lib,config, ... }:
+# uses alsa instead of pulseaduio server
+let
+ profiles = "/var/lib/rhasspy";
+in
+{
+ systemd.services.docker-rhasspy.after = [ "network-online.target" ];
+
+ virtualisation.oci-containers.containers.rhasspy = {
+ image = "rhasspy/rhasspy:latest";
+
+ environment = {
+ TZ = "Europe/Berlin";
+ PULSE_SERVER = "tcp:${ config.krebs.build.host.name }:4713";
+ };
+
+ ports = [
+ "12101:12101"
+ ];
+
+ volumes = [
+ "/etc/localtime:/etc/localtime:ro"
+ "${profiles}:/profiles"
+ ];
+
+ cmd = [ "--user-profiles" "/profiles" "--profile" "de" ];
+ extraOptions = [
+ "--device=/dev/snd:/dev/snd"
+ "--group-add=audio"
+ ];
+ };
+ systemd.tmpfiles.rules = [
+ "d ${profiles} 0770 root root - -"
+ ];
+
+ # required to allow rhasspy to connect to pulse server
+ # hardware.pulseaudio.enable = lib.mkForce false;
+ networking.firewall.allowedTCPPorts = [ 4713 ];
+
+}