aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortdro <tdro@users.noreply.github.com>2023-02-21 08:23:04 -0500
committertdro <tdro@users.noreply.github.com>2023-02-21 08:23:04 -0500
commite2f0774130f319d3d9f8b9bb7c115913d591c2be (patch)
tree13c697c1303595f3e78018480d66368746e6682d
parentcb736ea12aea50a3f79ac9b775533fe6d9017411 (diff)
downloaddotfiles-e2f0774130f319d3d9f8b9bb7c115913d591c2be.tar.gz
dotfiles-e2f0774130f319d3d9f8b9bb7c115913d591c2be.tar.bz2
dotfiles-e2f0774130f319d3d9f8b9bb7c115913d591c2be.zip
.config/nixpkgs: Replace pico2wave with larynx
-rw-r--r--.config/nixpkgs/config.nix9
-rw-r--r--.config/nixpkgs/shells/larynx-server/shell.nix54
-rw-r--r--.config/nixpkgs/shells/larynx/shell.nix54
-rwxr-xr-x.local/bin/picospeaker14
-rwxr-xr-x.local/bin/say20
5 files changed, 133 insertions, 18 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix
index 91ec9ed..df985b9 100644
--- a/.config/nixpkgs/config.nix
+++ b/.config/nixpkgs/config.nix
@@ -7,8 +7,8 @@ let
sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg"; }) { };
unstable = import (builtins.fetchTarball {
- url = "https://releases.nixos.org/nixos/unstable/nixos-23.05pre431956.14ddeaebcbe/nixexprs.tar.xz";
- sha256 = "0ilpmvj84gdahz43z141qqninrzywmzz7hylzvnxbw8j6wxjznwv"; }) { };
+ url = "https://releases.nixos.org/nixos/unstable/nixos-23.05pre455282.ac1f5b72a9e/nixexprs.tar.xz";
+ sha256 = "0hmzawy3s2kzp6n9yd20xqa7hcp38z9v6pj797wxd0v1a2slicfv"; }) { };
in
@@ -64,6 +64,8 @@ in
Terminal = pkgs.buildEnv {
name = "terminal";
paths = [
+ (import ./shells/larynx/shell.nix).fhs
+ (import ./shells/larynx-server/shell.nix).fhs
(callPackage ./packages/hugo/default.nix { })
(callPackage ./packages/chromexup/default.nix { })
(callPackage ./packages/pdf2htmlex/default.nix { })
@@ -130,7 +132,6 @@ in
ocrmypdf
pandoc
pdsh
- picotts
pipes
plantuml
pngnq
@@ -204,7 +205,6 @@ in
unstable.firefox
unstable.google-chrome
unstable.nyxt
- unstable.palemoon
unstable.ungoogled-chromium
unstable.vimb
aegisub
@@ -240,6 +240,7 @@ in
mate.engrampa
meld
mypaint
+ palemoon
pavucontrol
peek
qownnotes
diff --git a/.config/nixpkgs/shells/larynx-server/shell.nix b/.config/nixpkgs/shells/larynx-server/shell.nix
new file mode 100644
index 0000000..9021e47
--- /dev/null
+++ b/.config/nixpkgs/shells/larynx-server/shell.nix
@@ -0,0 +1,54 @@
+let
+
+ name = "nix-shell.larynx-server";
+
+ nixpkgs = import <nixpkgs> { };
+
+ pkgs = import (builtins.fetchTarball {
+ url = "https://releases.nixos.org/nixos/22.11/nixos-22.11.466.596a8e828c5/nixexprs.tar.xz";
+ sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg";
+ }) { };
+
+ larynx = pkgs.stdenvNoCC.mkDerivation rec {
+ name = "larynx";
+ version = "1.1.0";
+ sourceRoot = ".";
+
+ src = pkgs.dockerTools.exportImage {
+ fromImage = pkgs.dockerTools.pullImage rec {
+ imageName = "rhasspy/larynx";
+ imageDigest = "sha256:ada5b443e2446b38ba61d764ec37c0ed78d46e659a011243967e7cc8e52311e3";
+ sha256 = "sha256-TbaHNNMRGp4SWYC06WSmNr3igpiJagDKoD3TEnttYt8=";
+ finalImageName = imageName;
+ finalImageTag = version;
+ };
+ diskSize = "3072";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+
+ installPhase = ''
+ mkdir --parents $out/bin/larynx/app
+ cp --recursive home/larynx/app/.venv $out/bin/larynx/app
+ cp --recursive home/larynx/app/larynx $out/bin/larynx/app
+ '';
+ };
+
+ fhs = pkgs.buildFHSUserEnv {
+ name = "larynx-server";
+ runScript = "${pkgs.writeScriptBin name ''
+ export PYTHONPATH=/bin/larynx/app
+ /bin/larynx/app/.venv/bin/python3 -m larynx.server
+ ''}/bin/${name}";
+ targetPkgs = pkgs: [
+ larynx
+ pkgs.python39
+ ];
+ profile = "export FHS=1";
+ };
+
+in pkgs.mkShell {
+ inherit fhs;
+ inherit name;
+ shellHook = "exec ${fhs}/bin/${fhs.name}";
+}
diff --git a/.config/nixpkgs/shells/larynx/shell.nix b/.config/nixpkgs/shells/larynx/shell.nix
new file mode 100644
index 0000000..ac2e940
--- /dev/null
+++ b/.config/nixpkgs/shells/larynx/shell.nix
@@ -0,0 +1,54 @@
+let
+
+ name = "nix-shell.larynx";
+
+ nixpkgs = import <nixpkgs> { };
+
+ pkgs = import (builtins.fetchTarball {
+ url = "https://releases.nixos.org/nixos/22.11/nixos-22.11.466.596a8e828c5/nixexprs.tar.xz";
+ sha256 = "1367bad5zz0mfm4czb6p0s0ni38f0x1ffh02z76rx4nranipqbgg";
+ }) { };
+
+ larynx = pkgs.stdenvNoCC.mkDerivation rec {
+ name = "larynx";
+ version = "1.1.0";
+ sourceRoot = ".";
+
+ src = pkgs.dockerTools.exportImage {
+ fromImage = pkgs.dockerTools.pullImage rec {
+ imageName = "rhasspy/larynx";
+ imageDigest = "sha256:ada5b443e2446b38ba61d764ec37c0ed78d46e659a011243967e7cc8e52311e3";
+ sha256 = "sha256-TbaHNNMRGp4SWYC06WSmNr3igpiJagDKoD3TEnttYt8=";
+ finalImageName = imageName;
+ finalImageTag = version;
+ };
+ diskSize = "3072";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+
+ installPhase = ''
+ mkdir --parents $out/bin/larynx/app
+ cp --recursive home/larynx/app/.venv $out/bin/larynx/app
+ cp --recursive home/larynx/app/larynx $out/bin/larynx/app
+ '';
+ };
+
+ fhs = pkgs.buildFHSUserEnv {
+ name = "larynx";
+ runScript = "${pkgs.writeScriptBin name ''
+ export PYTHONPATH=/bin/larynx/app
+ /bin/larynx/app/.venv/bin/python3 -m larynx "$@"
+ ''}/bin/${name}";
+ targetPkgs = pkgs: [
+ larynx
+ pkgs.python39
+ ];
+ profile = "export FHS=1";
+ };
+
+in pkgs.mkShell {
+ inherit fhs;
+ inherit name;
+ shellHook = "exec ${fhs}/bin/${fhs.name}";
+}
diff --git a/.local/bin/picospeaker b/.local/bin/picospeaker
deleted file mode 100755
index 55a1b7b..0000000
--- a/.local/bin/picospeaker
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh -eu
-
-audio=/tmp/picospeaker-jfgOUcZdWu.wav
-text=${1:-Nothing to read.}
-
-[ "${1-}" = "echo" ] && picospeaker "${2-}" "${1-}" && exit;
-
-pico2wave -w "$audio" "$text";
-
-[ "${2-}" = "echo" ] \
- && ffmpeg -y -i "$audio" -map 0 -c:v copy -af aecho=1:1:50:0.5,atempo=0.85 "$audio.mp3" \
- && mplayer -really-quiet "$audio.mp3" && exit;
-
-mplayer -really-quiet "$audio";
diff --git a/.local/bin/say b/.local/bin/say
new file mode 100755
index 0000000..cd9e07f
--- /dev/null
+++ b/.local/bin/say
@@ -0,0 +1,20 @@
+#!/bin/sh -eu
+
+audio=/tmp/speak-jfgOUcZdWu.wav
+text=${1:-Nothing to say.}
+
+[ "${1-}" = "echo" ] && $0 "${2-}" "${1-}" && exit;
+
+printf '%s' "$text" | larynx -q low > $audio
+
+[ "${2-}" = "echo" ] &&
+ ffmpeg \
+ -y \
+ -i "$audio" \
+ -map 0 \
+ -c:v copy \
+ -af aecho=1:1:50:0.5,atempo=0.85 "$audio.mp3" &&
+ mplayer -really-quiet "$audio.mp3" &&
+ exit;
+
+mplayer -really-quiet "$audio";