aux-config/packages/numen-phrases/default.nix
kB01 14c8b47127
Some checks failed
/ Check Nix Flake (push) Has been cancelled
Moved Numen-Dependencies to Phrases Package, Configured default editor
2025-10-04 09:59:56 +02:00

94 lines
3 KiB
Nix

{
stdenv,
lib,
pkgs,
customWakeWords-en ? null,
customWakeWords-de ? null,
}:
let
wakeWords-en =
if customWakeWords-en == null then
[ "wake" "up" "now" ]
else
customWakeWords-en;
wakeWords-de =
if customWakeWords-de == null then
[ "wach" "jetzt" "auf" ]
else
customWakeWords-de;
in
stdenv.mkDerivation (finalAttrs: {
inherit wakeWords-de wakeWords-en;
pname = "numen-phrases";
version = "0.1.0";
src = ./phrases;
buildInputs = [
pkgs.libnotify
pkgs.run
pkgs.kb-one.vosk-model-small-en-us
pkgs.kb-one.vosk-model-small-de
];
installPhase = ''
mkdir $out
mkdir $out/phrases
mkdir $out/phrases/en-active
mkdir $out/phrases/de-active
mkdir $out/phrases/en-inactive
mkdir $out/phrases/de-inactive
install -Dm644 en-active/* -t "$out/phrases/en-active"
install -Dm644 de-active/* -t "$out/phrases/de-active"
install -Dm644 en-inactive/* -t "$out/phrases/en-inactive"
install -Dm644 de-inactive/* -t "$out/phrases/de-inactive"
sed -i "s:/etc/numen/phrases:${placeholder "out"}/phrases:g" \
$out/phrases/en-active/* \
$out/phrases/de-active/* \
$out/phrases/en-inactive/* \
$out/phrases/de-inactive/*
sed -i "s:/etc/numen/scripts:${pkgs.kb-one.numen}/scripts:g" \
$out/phrases/en-active/* \
$out/phrases/de-active/* \
$out/phrases/en-inactive/* \
$out/phrases/de-inactive/*
sed -i "s:/etc/numen/bin:${pkgs.kb-one.numen}/bin:g" \
$out/phrases/en-active/* \
$out/phrases/de-active/* \
$out/phrases/en-inactive/* \
$out/phrases/de-inactive/*
sed -i "s:notify-send:${pkgs.libnotify}/bin/notify-send:g" \
$out/phrases/en-active/* \
$out/phrases/de-active/* \
$out/phrases/en-inactive/* \
$out/phrases/de-inactive/*
sed -i "s:pkill:${pkgs.procps}/bin/pkill:g" \
$out/phrases/en-active/* \
$out/phrases/de-active/* \
$out/phrases/en-inactive/* \
$out/phrases/de-inactive/*
sed -i "s:/usr/share/vosk-models/small-en-us:${pkgs.kb-one.vosk-model-small-en-us}/usr/share/vosk-models/small-en-us:g" \
$out/phrases/de-active/*
sed -i "s:/usr/share/vosk-models/small-de:${pkgs.kb-one.vosk-model-small-de}/usr/share/vosk-models/small-de:g" \
$out/phrases/en-active/*
sed -i "s:placeholder_wakeword_1:${builtins.elemAt wakeWords-en 0}:g" \
$out/phrases/en-inactive/*
sed -i "s:placeholder_wakeword_2:${builtins.elemAt wakeWords-en 1}:g" \
$out/phrases/en-inactive/*
sed -i "s:placeholder_wakeword_3:${builtins.elemAt wakeWords-en 2}:g" \
$out/phrases/en-inactive/*
sed -i "s:placeholder_wakeword_1:${builtins.elemAt wakeWords-de 0}:g" \
$out/phrases/de-inactive/*
sed -i "s:placeholder_wakeword_2:${builtins.elemAt wakeWords-de 1}:g" \
$out/phrases/de-inactive/*
sed -i "s:placeholder_wakeword_3:${builtins.elemAt wakeWords-de 2}:g" \
$out/phrases/de-inactive/*
'';
})