discrete options

This commit is contained in:
2025-07-31 08:49:33 -05:00
parent 8656396c6b
commit 01a0f561b7
3 changed files with 43 additions and 14 deletions

View File

@@ -265,7 +265,12 @@
netbird.enable = true; netbird.enable = true;
ollama.enable = true; ollama.enable = true;
homeassistant.enable = true; homeassistant.enable = true;
wyoming.enable = true; wyoming = {
enable = true;
piper = true;
openwakeword = true;
faster-whisper = true;
};
rustdesk.enable = false; #broken rustdesk.enable = false; #broken
pihole.enable = false; #broken pihole.enable = false; #broken
}; };

View File

@@ -5,7 +5,19 @@
type = lib.types.bool; type = lib.types.bool;
default = false; default = false;
}; };
satelliteOnly = lib.options.mkOption { piper = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
openwakeword = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
faster-whisper = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
satellite = lib.options.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = false; default = false;
}; };
@@ -13,7 +25,7 @@
config = lib.mkIf config.sysconfig.opts.virtualization.wyoming.enable { config = lib.mkIf config.sysconfig.opts.virtualization.wyoming.enable {
containers.n8n = { containers.wyoming = {
autoStart = true; autoStart = true;
privateNetwork = true; privateNetwork = true;
@@ -74,16 +86,16 @@
services.wyoming = { services.wyoming = {
piper = { piper = lib.mkIf config.sysconfig.opts.virtualization.wyoming.piper {
servers.piper = lib.mkIf (!config.sysconfig.opts.virtualization.wyoming.satelliteOnly) { servers.piper = {
enable = true; enable = true;
voice = "en-us-ryan-medium"; voice = "en-us-ryan-medium";
uri = "tcp://0.0.0.0:11435"; uri = "tcp://0.0.0.0:11435";
}; };
}; };
openwakeword = lib.mkIf (!config.sysconfig.opts.virtualization.wyoming.satelliteOnly) { openwakeword = lib.mkIf config.sysconfig.opts.virtualization.wyoming.openwakeword {
enable = true; enable = true;
uri = "tcp://0.0.0.0:11432"; uri = "tcp://0.0.0.0:11432";
preloadModels = [ preloadModels = [
@@ -97,7 +109,7 @@
]; ];
}; };
faster-whisper = lib.mkIf (!config.sysconfig.opts.virtualization.wyoming.satelliteOnly) { faster-whisper = lib.mkIf config.sysconfig.opts.virtualization.wyoming.faster-whisper {
servers.whisper = { servers.whisper = {
enable = true; enable = true;
device = "auto"; device = "auto";
@@ -107,7 +119,7 @@
}; };
}; };
satellite = { satellite = lib.mkIf config.sysconfig.opts.virtualization.wyoming.satellite {
enable = true; enable = true;
uri = "tcp://0.0.0.0:11431"; uri = "tcp://0.0.0.0:11431";
#user = "nathan"; #user = "nathan";

View File

@@ -5,7 +5,19 @@
type = lib.types.bool; type = lib.types.bool;
default = false; default = false;
}; };
satelliteOnly = lib.options.mkOption { piper = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
openwakeword = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
faster-whisper = lib.options.mkOption {
type = lib.types.bool;
default = false;
};
satellite = lib.options.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = false; default = false;
}; };
@@ -14,16 +26,16 @@
config = lib.mkIf config.sysconfig.opts.wyoming.enable { config = lib.mkIf config.sysconfig.opts.wyoming.enable {
services.wyoming = { services.wyoming = {
piper = { piper = lib.mkIf config.sysconfig.opts.wyoming.piper {
servers.piper = lib.mkIf (!config.sysconfig.opts.wyoming.satelliteOnly) { servers.piper = {
enable = true; enable = true;
voice = "en-us-ryan-medium"; voice = "en-us-ryan-medium";
uri = "tcp://0.0.0.0:11435"; uri = "tcp://0.0.0.0:11435";
}; };
}; };
openwakeword = lib.mkIf (!config.sysconfig.opts.wyoming.satelliteOnly) { openwakeword = lib.mkIf config.sysconfig.opts.wyoming.openwakeword {
enable = true; enable = true;
uri = "tcp://0.0.0.0:11432"; uri = "tcp://0.0.0.0:11432";
preloadModels = [ preloadModels = [
@@ -37,7 +49,7 @@
]; ];
}; };
faster-whisper = lib.mkIf (!config.sysconfig.opts.wyoming.satelliteOnly) { faster-whisper = lib.mkIf config.sysconfig.opts.wyoming.faster-whisper {
servers.whisper = { servers.whisper = {
enable = true; enable = true;
device = "auto"; device = "auto";
@@ -47,7 +59,7 @@
}; };
}; };
satellite = { satellite = lib.mkIf config.sysconfig.opts.wyoming.satellite {
enable = true; enable = true;
uri = "tcp://0.0.0.0:11431"; uri = "tcp://0.0.0.0:11431";
user = "nathan"; user = "nathan";