feat(home-assistant): setup assist pipeline with wyoming
Also switch to unstable home-assistant.
This commit is contained in:
parent
09f7db14c3
commit
c31a727501
|
@ -1,10 +1,14 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with pkgs;
|
|
||||||
|
|
||||||
let port = config.services.home-assistant.config.http.server_port;
|
let port = config.services.home-assistant.config.http.server_port;
|
||||||
in {
|
in {
|
||||||
imports = [ ./esphome.nix ];
|
disabledModules = [ "services/home-automation/home-assistant.nix" ];
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
"${inputs.nixpkgs-unstable}/nixos/modules/services/home-automation/home-assistant.nix"
|
||||||
|
./wyoming.nix
|
||||||
|
./esphome.nix
|
||||||
|
];
|
||||||
|
|
||||||
# just installed for ConBee firmware updates
|
# just installed for ConBee firmware updates
|
||||||
# TODO deconz package is currently broken
|
# TODO deconz package is currently broken
|
||||||
|
@ -26,10 +30,13 @@ in {
|
||||||
|
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.unstable.home-assistant;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
extraComponents = [
|
extraComponents = [
|
||||||
"default_config"
|
"default_config"
|
||||||
"otp"
|
"otp"
|
||||||
|
"assist_pipeline"
|
||||||
|
"wyoming"
|
||||||
"esphome"
|
"esphome"
|
||||||
"homekit_controller"
|
"homekit_controller"
|
||||||
"fritz"
|
"fritz"
|
||||||
|
@ -65,6 +72,7 @@ in {
|
||||||
database_path = "/var/lib/hass/zigbee.db";
|
database_path = "/var/lib/hass/zigbee.db";
|
||||||
zigpy_config = { ota = { ikea_provider = true; }; };
|
zigpy_config = { ota = { ikea_provider = true; }; };
|
||||||
};
|
};
|
||||||
|
conversation = { intents = { }; };
|
||||||
alarm_control_panel = [{
|
alarm_control_panel = [{
|
||||||
platform = "manual";
|
platform = "manual";
|
||||||
code = "!secret alarm_code";
|
code = "!secret alarm_code";
|
||||||
|
|
|
@ -1,38 +1,39 @@
|
||||||
{ inputs, ... }:
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# TODO they don't exist, so not disabling them
|
|
||||||
/* disabledModules = [
|
|
||||||
"services/audio/wyoming/piper.nix"
|
|
||||||
"services/audio/wyoming/faster-whisper.nix"
|
|
||||||
];
|
|
||||||
*/
|
|
||||||
|
|
||||||
# TODO fails with infinite recursion, why?
|
|
||||||
# TODO perhaps because of the `pkgs.unstable` override?
|
|
||||||
imports = [
|
imports = [
|
||||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/audio/wyoming/piper.nix"
|
"${inputs.nixpkgs-unstable}/nixos/modules/services/audio/wyoming/piper.nix"
|
||||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/audio/wyoming/faster-whisper.nix"
|
"${inputs.nixpkgs-unstable}/nixos/modules/services/audio/wyoming/faster-whisper.nix"
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/* services.wyoming.piper.servers = {
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
inherit (pkgs.unstable) wyoming-piper wyoming-faster-whisper piper-tts;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
services.wyoming.piper = {
|
||||||
|
servers = {
|
||||||
"en" = {
|
"en" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
voice = "en_GB-alba-medium";
|
# see https://github.com/rhasspy/rhasspy3/blob/master/programs/tts/piper/script/download.py
|
||||||
|
voice = "en-gb-southern_english_female-low";
|
||||||
uri = "tcp://0.0.0.0:10200";
|
uri = "tcp://0.0.0.0:10200";
|
||||||
speaker = 0;
|
speaker = 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.wyoming.faster-whisper.servers = {
|
services.wyoming.faster-whisper = {
|
||||||
"tiny-en" = {
|
servers = {
|
||||||
|
"en" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# see https://github.com/rhasspy/rhasspy3/blob/master/programs/asr/faster-whisper/script/download.py
|
||||||
model = "tiny-int8";
|
model = "tiny-int8";
|
||||||
language = "en";
|
language = "en";
|
||||||
uri = "tcp://0.0.0.0:10300";
|
uri = "tcp://0.0.0.0:10300";
|
||||||
device = "cpu";
|
device = "cpu";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
*/
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue