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