From 124d33963e5edcab966d146d18f97a8ca7b6eea4 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Fri, 3 Apr 2026 00:47:12 -0400 Subject: [PATCH] organize --- configuration.nix | 15 ++++----------- services/{ => caddy}/caddy.nix | 0 services/{ => caddy}/caddy_senior_project.nix | 0 services/caddy/default.nix | 7 +++++++ services/jellyfin/default.nix | 6 ++++++ .../jellyfin-qbittorrent-monitor.nix | 3 ++- .../jellyfin-qbittorrent-monitor.py | 0 services/{ => jellyfin}/jellyfin.nix | 0 services/llama-cpp/default.nix | 6 ++++++ .../{ => llama-cpp}/llama-cpp-xmrig-pause.nix | 4 +++- services/{ => llama-cpp}/llama-cpp-xmrig-pause.py | 0 services/{ => llama-cpp}/llama-cpp.nix | 0 services/ntfy/default.nix | 6 ++++++ services/{ => ntfy}/ntfy-alerts.nix | 7 ++++++- services/{ => ntfy}/ntfy.nix | 0 tests/fail2ban-jellyfin.nix | 2 +- tests/jellyfin-qbittorrent-monitor.nix | 2 +- tests/llama-cpp-xmrig-pause.nix | 2 +- 18 files changed, 43 insertions(+), 17 deletions(-) rename services/{ => caddy}/caddy.nix (100%) rename services/{ => caddy}/caddy_senior_project.nix (100%) create mode 100644 services/caddy/default.nix create mode 100644 services/jellyfin/default.nix rename services/{ => jellyfin}/jellyfin-qbittorrent-monitor.nix (97%) rename services/{ => jellyfin}/jellyfin-qbittorrent-monitor.py (100%) rename services/{ => jellyfin}/jellyfin.nix (100%) create mode 100644 services/llama-cpp/default.nix rename services/{ => llama-cpp}/llama-cpp-xmrig-pause.nix (93%) rename services/{ => llama-cpp}/llama-cpp-xmrig-pause.py (100%) rename services/{ => llama-cpp}/llama-cpp.nix (100%) create mode 100644 services/ntfy/default.nix rename services/{ => ntfy}/ntfy-alerts.nix (72%) rename services/{ => ntfy}/ntfy.nix (100%) diff --git a/configuration.nix b/configuration.nix index a40e2c3..b14678c 100644 --- a/configuration.nix +++ b/configuration.nix @@ -23,8 +23,8 @@ ./modules/power.nix ./services/postgresql.nix - ./services/jellyfin.nix - ./services/caddy.nix + ./services/jellyfin + ./services/caddy ./services/immich.nix ./services/gitea.nix ./services/gitea-actions-runner.nix @@ -32,7 +32,6 @@ ./services/wg.nix ./services/qbittorrent.nix - ./services/jellyfin-qbittorrent-monitor.nix ./services/bitmagnet.nix ./services/arr/prowlarr.nix @@ -47,7 +46,7 @@ ./services/soulseek.nix - ./services/llama-cpp.nix + ./services/llama-cpp ./services/trilium.nix ./services/ups.nix @@ -65,19 +64,13 @@ ./services/p2pool.nix ./services/xmrig.nix - ./services/llama-cpp-xmrig-pause.nix - - # KEEP UNTIL 2028 - ./services/caddy_senior_project.nix - ./services/graphing-calculator.nix ./services/ssh.nix ./services/syncthing.nix - ./services/ntfy.nix - ./services/ntfy-alerts.nix + ./services/ntfy ./services/mollysocket.nix ]; diff --git a/services/caddy.nix b/services/caddy/caddy.nix similarity index 100% rename from services/caddy.nix rename to services/caddy/caddy.nix diff --git a/services/caddy_senior_project.nix b/services/caddy/caddy_senior_project.nix similarity index 100% rename from services/caddy_senior_project.nix rename to services/caddy/caddy_senior_project.nix diff --git a/services/caddy/default.nix b/services/caddy/default.nix new file mode 100644 index 0000000..d22611d --- /dev/null +++ b/services/caddy/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./caddy.nix + # KEEP UNTIL 2028 + ./caddy_senior_project.nix + ]; +} diff --git a/services/jellyfin/default.nix b/services/jellyfin/default.nix new file mode 100644 index 0000000..a396984 --- /dev/null +++ b/services/jellyfin/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./jellyfin.nix + ./jellyfin-qbittorrent-monitor.nix + ]; +} diff --git a/services/jellyfin-qbittorrent-monitor.nix b/services/jellyfin/jellyfin-qbittorrent-monitor.nix similarity index 97% rename from services/jellyfin-qbittorrent-monitor.nix rename to services/jellyfin/jellyfin-qbittorrent-monitor.nix index 9d73adc..4bf57d7 100644 --- a/services/jellyfin-qbittorrent-monitor.nix +++ b/services/jellyfin/jellyfin-qbittorrent-monitor.nix @@ -2,9 +2,10 @@ pkgs, service_configs, config, + lib, ... }: -{ +lib.mkIf config.services.jellyfin.enable { systemd.services."jellyfin-qbittorrent-monitor" = { description = "Monitor Jellyfin streaming and control qBittorrent rate limits"; after = [ diff --git a/services/jellyfin-qbittorrent-monitor.py b/services/jellyfin/jellyfin-qbittorrent-monitor.py similarity index 100% rename from services/jellyfin-qbittorrent-monitor.py rename to services/jellyfin/jellyfin-qbittorrent-monitor.py diff --git a/services/jellyfin.nix b/services/jellyfin/jellyfin.nix similarity index 100% rename from services/jellyfin.nix rename to services/jellyfin/jellyfin.nix diff --git a/services/llama-cpp/default.nix b/services/llama-cpp/default.nix new file mode 100644 index 0000000..cce8a0a --- /dev/null +++ b/services/llama-cpp/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./llama-cpp.nix + ./llama-cpp-xmrig-pause.nix + ]; +} diff --git a/services/llama-cpp-xmrig-pause.nix b/services/llama-cpp/llama-cpp-xmrig-pause.nix similarity index 93% rename from services/llama-cpp-xmrig-pause.nix rename to services/llama-cpp/llama-cpp-xmrig-pause.nix index f797de9..c694bad 100644 --- a/services/llama-cpp-xmrig-pause.nix +++ b/services/llama-cpp/llama-cpp-xmrig-pause.nix @@ -1,8 +1,10 @@ { + config, + lib, pkgs, ... }: -{ +lib.mkIf config.services.llama-cpp.enable { systemd.services.llama-cpp-xmrig-pause = { description = "Pause xmrig while llama-cpp is processing requests"; after = [ diff --git a/services/llama-cpp-xmrig-pause.py b/services/llama-cpp/llama-cpp-xmrig-pause.py similarity index 100% rename from services/llama-cpp-xmrig-pause.py rename to services/llama-cpp/llama-cpp-xmrig-pause.py diff --git a/services/llama-cpp.nix b/services/llama-cpp/llama-cpp.nix similarity index 100% rename from services/llama-cpp.nix rename to services/llama-cpp/llama-cpp.nix diff --git a/services/ntfy/default.nix b/services/ntfy/default.nix new file mode 100644 index 0000000..7757bd4 --- /dev/null +++ b/services/ntfy/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./ntfy.nix + ./ntfy-alerts.nix + ]; +} diff --git a/services/ntfy-alerts.nix b/services/ntfy/ntfy-alerts.nix similarity index 72% rename from services/ntfy-alerts.nix rename to services/ntfy/ntfy-alerts.nix index 089b270..e1dbb63 100644 --- a/services/ntfy-alerts.nix +++ b/services/ntfy/ntfy-alerts.nix @@ -1,5 +1,10 @@ -{ config, service_configs, ... }: { + config, + lib, + service_configs, + ... +}: +lib.mkIf config.services.ntfy-sh.enable { services.ntfyAlerts = { enable = true; serverUrl = "https://${service_configs.ntfy.domain}"; diff --git a/services/ntfy.nix b/services/ntfy/ntfy.nix similarity index 100% rename from services/ntfy.nix rename to services/ntfy/ntfy.nix diff --git a/tests/fail2ban-jellyfin.nix b/tests/fail2ban-jellyfin.nix index 195c5f7..bd7971d 100644 --- a/tests/fail2ban-jellyfin.nix +++ b/tests/fail2ban-jellyfin.nix @@ -30,7 +30,7 @@ let { config, pkgs, ... }: { imports = [ - (import ../services/jellyfin.nix { + (import ../services/jellyfin/jellyfin.nix { inherit config pkgs; lib = testLib; service_configs = testServiceConfigs; diff --git a/tests/jellyfin-qbittorrent-monitor.nix b/tests/jellyfin-qbittorrent-monitor.nix index aec5a98..dd6508e 100644 --- a/tests/jellyfin-qbittorrent-monitor.nix +++ b/tests/jellyfin-qbittorrent-monitor.nix @@ -137,7 +137,7 @@ pkgs.testers.runNixOSTest { with subtest("Start monitor service"): python = "${pkgs.python3.withPackages (ps: [ ps.requests ])}/bin/python" - monitor = "${../services/jellyfin-qbittorrent-monitor.py}" + monitor = "${../services/jellyfin/jellyfin-qbittorrent-monitor.py}" server.succeed(f""" systemd-run --unit=monitor-test \ --setenv=JELLYFIN_URL=http://localhost:8096 \ diff --git a/tests/llama-cpp-xmrig-pause.nix b/tests/llama-cpp-xmrig-pause.nix index 44eca77..78a272c 100644 --- a/tests/llama-cpp-xmrig-pause.nix +++ b/tests/llama-cpp-xmrig-pause.nix @@ -3,7 +3,7 @@ ... }: let - script = ../services/llama-cpp-xmrig-pause.py; + script = ../services/llama-cpp/llama-cpp-xmrig-pause.py; python = pkgs.python3; # SmolLM-135M Q2_K: 85MB, modern GGUFv3, generates ~30 tok/s on one CPU