aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2023-08-07 13:05:59 -0400
committerXe Iaso <me@xeiaso.net>2023-08-07 13:05:59 -0400
commita3ff70a8aa64981f9441ad6faa52d1bf0bb7d337 (patch)
tree75ce745aeb417b368ae44ca48ce63f1b9f53a7a8
parent050bba5eb5506e4fd99177820a374645416f06bf (diff)
downloadx-a3ff70a8aa64981f9441ad6faa52d1bf0bb7d337.tar.xz
x-a3ff70a8aa64981f9441ad6faa52d1bf0bb7d337.zip
nix: add sanguisuga module
Signed-off-by: Xe Iaso <me@xeiaso.net>
-rw-r--r--flake.nix3
-rw-r--r--nix/sanguisuga.nix47
2 files changed, 50 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
index c6403aa..234e39e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -234,6 +234,7 @@
mainsanow = copyFile { pname = "mainsanow"; };
prefix = copyFile { pname = "prefix"; };
quickserv = copyFile { pname = "quickserv"; };
+ sanguisuga = copyFile { pname = "sanguisuga"; };
todayinmarch2020 = copyFile { pname = "todayinmarch2020"; };
uploud = copyFile { pname = "uploud"; };
vest-pit-near = copyFile { pname = "vest-pit-near"; };
@@ -344,6 +345,7 @@
aegis
hlang
todayinmarch2020
+ sanguisuga
vest-pit-near
within-website
];
@@ -352,6 +354,7 @@
aegis = import ./nix/aegis.nix self;
hlang = import ./nix/hlang.nix self;
todayinmarch2020 = import ./nix/todayinmarch2020.nix self;
+ sanguisuga = import ./nix/sanguisuga.nix self;
vest-pit-near = import ./nix/vest-pit-near.nix self;
within-website = import ./nix/within-website.nix self;
};
diff --git a/nix/sanguisuga.nix b/nix/sanguisuga.nix
new file mode 100644
index 0000000..2006586
--- /dev/null
+++ b/nix/sanguisuga.nix
@@ -0,0 +1,47 @@
+self:
+{ config, lib, pkgs, ... }:
+with lib;
+let
+ system = pkgs.system;
+ cfg = config.xeserv.services.sanguisuga;
+ selfpkgs = self.packages.${system};
+in {
+ options.xeserv.services.sanguisuga = {
+ enable = mkEnableOption "Enables the sanguisuga torrent leeching agent";
+
+ package = mkOption {
+ type = types.package;
+ default = selfpkgs.sanguisuga;
+ description = "the package containing the sanguisuga binary";
+ };
+ };
+ config = mkIf cfg.enable {
+ users.users.sanguisuga = {
+ isSystemUser = true;
+ group = "sanguisuga";
+ extraGroups = ["within"];
+ createHome = true;
+ };
+ users.groups.sanguisuga = {};
+ systemd.services.sanguisuga = {
+ wantedBy = [ "multi-user.target" ];
+ environment = {
+ HOME = "/var/lib/sanguisuga";
+ STATE_DIR = "/var/lib/sanguisuga";
+ };
+ path = with pkgs; [ docker ];
+ serviceConfig = {
+ User = "sanguisuga";
+ Group = "sanguisuga";
+ Restart = "always";
+ RestartSec = "30s";
+ ExecStart = "${cfg.package}/bin/sanguisuga";
+ RuntimeDirectory = "sanguisuga";
+ RuntimeDirectoryMode = "0755";
+ CacheDirectory = "sanguisuga";
+ CacheDirectoryMode = "0750";
+ WorkingDirectory = "/var/lib/sanguisuga";
+ };
+ };
+ };
+}