From e2323779d44e6f8ccf501847ad6c729ef6be5f94 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Wed, 30 Sep 2026 22:43:29 -0400 Subject: [PATCH] add Jellyswarrm service --- flake.lock | 79 ++++++++++++++++++++++++- flake.nix | 5 ++ systems/jeeves/networking/firewall.nix | 2 + systems/jeeves/services/jellyswarrm.nix | 16 +++++ 4 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 systems/jeeves/services/jellyswarrm.nix diff --git a/flake.lock b/flake.lock index dd86958..d6008da 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -40,6 +58,28 @@ "type": "github" } }, + "jellyswarrm": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1790427786, + "narHash": "sha256-8+Ip0HFW2oZiRr0zCZmPPIHfTdxxHy4CmSF1uOkM3Bw=", + "owner": "LLukas22", + "repo": "Jellyswarrm", + "rev": "9e67c5ad12116add867ba6c1bf69f767879e9147", + "type": "github" + }, + "original": { + "owner": "LLukas22", + "repo": "Jellyswarrm", + "type": "github" + } + }, "nixos-hardware": { "inputs": { "nixpkgs": "nixpkgs" @@ -124,12 +164,34 @@ "inputs": { "disko": "disko", "home-manager": "home-manager", + "jellyswarrm": "jellyswarrm", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "nixpkgs-master": "nixpkgs-master", "nixpkgs-stable": "nixpkgs-stable", "sops-nix": "sops-nix", - "systems": "systems" + "systems": "systems_2" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "jellyswarrm", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1779419951, + "narHash": "sha256-dMX0PUslUHPajP6o8FEoRdFv9afq/dec4POR0vVfjK4=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "5b5c521d6cae9ef4aa32f888eb2c0ce595c9be52", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" } }, "sops-nix": { @@ -153,6 +215,21 @@ } }, "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", diff --git a/flake.nix b/flake.nix index e8cb968..3a2ec7a 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,11 @@ nixos-hardware.url = "github:nixos/nixos-hardware/master"; + jellyswarrm = { + url = "github:LLukas22/Jellyswarrm"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/systems/jeeves/networking/firewall.nix b/systems/jeeves/networking/firewall.nix index 542a74f..691bd1e 100644 --- a/systems/jeeves/networking/firewall.nix +++ b/systems/jeeves/networking/firewall.nix @@ -7,6 +7,7 @@ let gitea_ssh = 2223; grafana = 3000; jellyfin_http = 8096; + jellyswarrm = 3100; nix_binary_cache = 5000; nornsight = 8001; ollama = 11434; @@ -27,6 +28,7 @@ in ports.audiobookshelf ports.gems ports.jellyfin_http + ports.jellyswarrm ports.nix_binary_cache ports.nornsight ports.share diff --git a/systems/jeeves/services/jellyswarrm.nix b/systems/jeeves/services/jellyswarrm.nix new file mode 100644 index 0000000..6689c7b --- /dev/null +++ b/systems/jeeves/services/jellyswarrm.nix @@ -0,0 +1,16 @@ +{ inputs, ... }: +let + vars = import ../vars.nix; +in +{ + imports = [ inputs.jellyswarrm.nixosModules.default ]; + + services.jellyswarrm = { + enable = true; + host = "0.0.0.0"; + port = 3100; + dataDir = "${vars.services}/jellyswarrm"; + username = "admin"; + passwordFile = "${vars.secrets}/services/jellyswarrm-password"; + }; +} -- 2.55.0