2019-10-24 02:20:38 +02:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
|
2021-09-25 15:17:07 +02:00
|
|
|
espeak = pkgs.unstable.espeak;
|
2020-03-15 14:49:39 +01:00
|
|
|
|
2019-10-24 02:20:38 +02:00
|
|
|
# can't use bash aliases because programms will not pic it up
|
|
|
|
en_espeak = pkgs.writeShellScriptBin "en-speak" ''
|
2020-03-15 14:49:39 +01:00
|
|
|
exec ${espeak}/bin/espeak \
|
2019-10-24 02:20:38 +02:00
|
|
|
-v en\
|
|
|
|
-s 145 \
|
|
|
|
-p 23 \
|
2020-03-15 14:49:39 +01:00
|
|
|
"$@"
|
2019-10-24 02:20:38 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
# read from copyq
|
|
|
|
en_read = pkgs.writeShellScriptBin "en-read" ''
|
|
|
|
exec ${pkgs.copyq}/bin/copyq read 0 | ${en_espeak}/bin/en-speak
|
|
|
|
'';
|
|
|
|
|
|
|
|
# can't use bash aliases because programms will not pic it up
|
|
|
|
de_espeak = pkgs.writeShellScriptBin "de-speak" ''
|
2020-03-15 14:49:39 +01:00
|
|
|
exec ${espeak}/bin/espeak \
|
2019-10-24 02:20:38 +02:00
|
|
|
-v de\
|
|
|
|
-s 143 \
|
|
|
|
-p 20 \
|
2020-03-15 14:49:39 +01:00
|
|
|
"$@"
|
2019-10-24 02:20:38 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
# read from copyq
|
|
|
|
de_read = pkgs.writeShellScriptBin "de-read" ''
|
|
|
|
exec ${pkgs.copyq}/bin/copyq read 0 | ${de_espeak}/bin/de-speak
|
|
|
|
'';
|
|
|
|
|
|
|
|
cfg = config.programs.custom.espeak;
|
|
|
|
|
2021-11-01 09:20:42 +01:00
|
|
|
in
|
|
|
|
{
|
2019-10-24 02:20:38 +02:00
|
|
|
|
2019-12-20 05:54:26 +01:00
|
|
|
options.programs.custom.espeak.enable =
|
|
|
|
mkEnableOption "enable espeak scripts";
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
|
2020-03-15 15:52:19 +01:00
|
|
|
environment.systemPackages = [ espeak en_espeak en_read de_espeak de_read ];
|
2019-10-24 02:20:38 +02:00
|
|
|
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|