feat(swaybg) adding bg script #4

Merged
cnst merged 1 commits from wut into main 2025-09-25 17:26:10 +02:00
4 changed files with 69 additions and 1 deletions
Showing only changes of commit 8fe6382c48 - Show all commits

View File

@@ -30,6 +30,9 @@
homepage-dashboard = { homepage-dashboard = {
enable = true; enable = true;
}; };
n8n = {
enable = true;
};
bazarr = { bazarr = {
enable = true; enable = true;
}; };

View File

@@ -135,6 +135,7 @@
./server/sonarr ./server/sonarr
./server/jellyseerr ./server/jellyseerr
./server/jellyfin ./server/jellyfin
./server/n8n
./server/podman ./server/podman
./server/unbound ./server/unbound
./server/uptime-kuma ./server/uptime-kuma

View File

@@ -23,7 +23,7 @@ in {
}; };
homepage.description = lib.mkOption { homepage.description = lib.mkOption {
type = lib.types.str; type = lib.types.str;
default = "Open Source Identity and Access Management"; default = "An open-source IdP for modern SSO";
}; };
homepage.icon = lib.mkOption { homepage.icon = lib.mkOption {
type = lib.types.str; type = lib.types.str;

View File

@@ -0,0 +1,64 @@
{
config,
lib,
...
}: let
unit = "n8n";
srv = config.server;
cfg = config.server.${unit};
in {
options.server.${unit} = {
enable = lib.mkEnableOption {
description = "Enable ${unit}";
};
configDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/${unit}";
};
url = lib.mkOption {
type = lib.types.str;
default = "${unit}.${srv.domain}";
};
homepage.name = lib.mkOption {
type = lib.types.str;
default = "n8n";
};
homepage.description = lib.mkOption {
type = lib.types.str;
default = "A workflow automation platform";
};
homepage.icon = lib.mkOption {
type = lib.types.str;
default = "n8n.svg";
};
homepage.category = lib.mkOption {
type = lib.types.str;
default = "Services";
};
};
config = lib.mkIf cfg.enable {
services = {
n8n = {
enable = true;
openFirewall = true;
};
traefik = {
dynamicConfigOptions = {
http = {
services.n8n.loadBalancer.servers = [{url = "http://127.0.0.1:5678";}];
routers = {
n8n = {
entryPoints = ["websecure"];
rule = "Host(`${cfg.url}`)";
service = "n8n";
tls.certResolver = "letsencrypt";
# middlewares = ["authentik"];
};
};
};
};
};
};
};
}