services require storage
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
/nix/store/l75qzsqgsaafrgkjchxpvmmdr4k5pjq1-nixos-26.05.20251209.677fbe9-x86_64-linux.iso
|
|
||||||
@@ -30,7 +30,8 @@ rec {
|
|||||||
options ? { },
|
options ? { },
|
||||||
moduleConfig ? { },
|
moduleConfig ? { },
|
||||||
domain ? "services",
|
domain ? "services",
|
||||||
config
|
config,
|
||||||
|
serviceName ? name
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.${namespace}.${domain}.${name};
|
cfg = config.${namespace}.${domain}.${name};
|
||||||
@@ -63,6 +64,10 @@ rec {
|
|||||||
groups.${name} = { };
|
groups.${name} = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.${serviceName} = {
|
||||||
|
requires = [ "media-nas-main.mount" ];
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
postgresql = lib.mkIf cfg.configureDb {
|
postgresql = lib.mkIf cfg.configureDb {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let
|
|||||||
|
|
||||||
aiConfig = lib.${namespace}.mkModule {
|
aiConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "open-webui"; # todo multiple?
|
||||||
description = "AI Services";
|
description = "AI Services";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
arrsConfig = lib.${namespace}.mkModule {
|
arrsConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "sabnzbd";
|
||||||
description = "*arr Services";
|
description = "*arr Services";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ let
|
|||||||
authentikRacConfig = lib.${namespace}.mkModule {
|
authentikRacConfig = lib.${namespace}.mkModule {
|
||||||
inherit config;
|
inherit config;
|
||||||
name = "authentikRac";
|
name = "authentikRac";
|
||||||
|
serviceName = "podman-authenticRac";
|
||||||
description = "authentik_rac Service";
|
description = "authentik_rac Service";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let
|
|||||||
|
|
||||||
calibreConfig = lib.${namespace}.mkModule {
|
calibreConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "calibre-web";
|
||||||
description = "Calibre Server";
|
description = "Calibre Server";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
collaboraConfig = lib.${namespace}.mkModule {
|
collaboraConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "coolwsd";
|
||||||
description = "collabora code server";
|
description = "collabora code server";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
ersatztvConfig = lib.${namespace}.mkModule {
|
ersatztvConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "ersatztv";
|
description = "ersatztv";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
fgcConfig = lib.${namespace}.mkModule {
|
fgcConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "free-games-claimer";
|
description = "free-games-claimer";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let
|
|||||||
|
|
||||||
immichConfig = lib.${namespace}.mkModule {
|
immichConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "${name}-server";
|
||||||
description = "immich";
|
description = "immich";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
lubeloggerConfig = lib.${namespace}.mkModule {
|
lubeloggerConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "lubelogger";
|
description = "lubelogger";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
manyfoldConfig = lib.${namespace}.mkModule {
|
manyfoldConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "manyfold";
|
description = "manyfold";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ let
|
|||||||
|
|
||||||
matrixConfig = lib.${namespace}.mkModule {
|
matrixConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "${name}-synapse";
|
||||||
description = "config";
|
description = "config";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
nextcloudConfig = lib.${namespace}.mkModule {
|
nextcloudConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "nextcloud";
|
description = "nextcloud";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
opencloudConfig = lib.${namespace}.mkModule {
|
opencloudConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "opencloud";
|
description = "opencloud";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let
|
|||||||
|
|
||||||
orcaConfig = lib.${namespace}.mkModule {
|
orcaConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "orca slicer web ui";
|
description = "orca slicer web ui";
|
||||||
options = {
|
options = {
|
||||||
httpsPort = mkOpt types.int 443 "HTTPS port";
|
httpsPort = mkOpt types.int 443 "HTTPS port";
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let
|
|||||||
|
|
||||||
paperlessConfig = lib.${namespace}.mkModule {
|
paperlessConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "${name}-web";
|
||||||
description = "paperless";
|
description = "paperless";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
@@ -35,6 +36,7 @@ let
|
|||||||
paperlessAiConfig = lib.${namespace}.mkModule {
|
paperlessAiConfig = lib.${namespace}.mkModule {
|
||||||
inherit config;
|
inherit config;
|
||||||
name = "paperless-ai";
|
name = "paperless-ai";
|
||||||
|
serviceName = "podman-paperless-ai";
|
||||||
description = "paperless-ai";
|
description = "paperless-ai";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
resticConfig = lib.${namespace}.mkModule {
|
resticConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "${name}-rest-server";
|
||||||
description = "restic";
|
description = "restic";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ let
|
|||||||
|
|
||||||
unmanicConfig = lib.${namespace}.mkModule {
|
unmanicConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "podman-${name}";
|
||||||
description = "unmanic";
|
description = "unmanic";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
|
|
||||||
wyomingConfig = lib.${namespace}.mkModule {
|
wyomingConfig = lib.${namespace}.mkModule {
|
||||||
inherit config name;
|
inherit config name;
|
||||||
|
serviceName = "${name}-faster-whisper-hass-whisper";
|
||||||
description = "wyoming protocol";
|
description = "wyoming protocol";
|
||||||
options = { };
|
options = { };
|
||||||
moduleConfig = {
|
moduleConfig = {
|
||||||
|
|||||||
Reference in New Issue
Block a user