From 6e6aa3e1db542139ec861fb522ab7a787cb8f9e1 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Thu, 15 Sep 2022 16:43:20 +0200 Subject: [PATCH] Add tts module --- modules/default.nix | 1 + modules/tts/default.nix | 55 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 modules/tts/default.nix diff --git a/modules/default.nix b/modules/default.nix index 7322cc5..3574ccc 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -14,6 +14,7 @@ ./mobile-nixos-bootloader.nix ./spotifyd.nix ./terminal.nix + ./tts # server #./webserver.nix diff --git a/modules/tts/default.nix b/modules/tts/default.nix new file mode 100644 index 0000000..dea8a3c --- /dev/null +++ b/modules/tts/default.nix @@ -0,0 +1,55 @@ +{ lib, config, pkgs, ... }: +with lib; + +let + tts = pkgs.writeScriptBin "tts" '' + #!${pkgs.zsh}/bin/zsh + + curl --silent -X POST --data @- 'localhost:59125/api/tts?voice=en_US/hifi-tts_low%2392&lengthScale=1&noiseScale=0.2&noiseW=0.2' | mpv --no-terminal --no-config --no-video - + ''; +in +{ + options.queezle.tts.enable = mkEnableOption "tts server"; + + config = mkIf config.queezle.tts.enable { + + virtualisation.oci-containers.backend = "podman"; + virtualisation.oci-containers.containers.tts = { + image = "mycroftai/mimic3:0.2.3-amd64"; + imageFile = pkgs.dockerTools.pullImage { + imageName = "mycroftai/mimic3"; + finalImageTag = "0.2.3-amd64"; + imageDigest = "sha256:8213f6d146e9d9d5614f0cdc141403926d2d2a4d1b8d2b24e8179adf74ebc2a2"; + sha256 = "sha256-gVyS6V3IX9K8dpE+777TNHZFdtpImkHQzRx1kOsXfmY="; + }; + volumes = [ + "mimic3:/home/mimic3/.local/share/mycroft/mimic3" + ]; + ports = [ + "127.0.0.1:59125:59125" + ]; + extraOptions = [ + #"--userns=auto" + "--uidmap=1000:4000:1" + "--uidmap=0:4001:1" + "--gidmap=1000:4000:1" + "--gidmap=0:4001:1" + ]; + }; + + users.users.mimic3 = { + description = "tts daemon user"; + uid = 4000; + # also requires uid 4001 + isSystemUser = true; + group = "mimic3"; + }; + + users.groups.mimic3 = { + gid = 4000; + # also requires gid 4001 + }; + + environment.systemPackages = [ tts ]; + }; +} -- GitLab