about summary refs log tree commit diff
path: root/hosts/tahoe/services.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/tahoe/services.nix')
-rw-r--r--hosts/tahoe/services.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/hosts/tahoe/services.nix b/hosts/tahoe/services.nix
new file mode 100644
index 0000000..0a0af9f
--- /dev/null
+++ b/hosts/tahoe/services.nix
@@ -0,0 +1,54 @@
+{ config, ... }:
+let secrets = config.age.secrets;
+in {
+  my.services = {
+    samba = {
+      enable = true;
+      publicShares = [ "/data/fast/music" "/data/fast/videos" ];
+    };
+    navidrome = {
+      enable = true;
+      vhostName = "music.fcuny.xyz";
+      musicFolder = "/data/fast/music";
+    };
+    unifi = {
+      enable = true;
+      vhostName = "unifi.fcuny.xyz";
+    };
+    prometheus = { enable = true; };
+    grafana = {
+      enable = true;
+      vhostName = "dash.fcuny.xyz";
+    };
+    gitea = {
+      enable = true;
+      stateDir = "/var/lib/gitea";
+    };
+    sourcegraph = {
+      enable = true;
+      vhostName = "cs.fcuny.xyz";
+    };
+    drone = {
+      enable = true;
+      vhostName = "drone.fcuny.xyz";
+      runners = [ "docker" "exec" ];
+      sharedSecretFile = secrets."drone/secrets".path;
+    };
+    rclone = { enable = true; };
+    nginx = { enable = true; };
+    transmission = {
+      enable = true;
+      vhostName = "bt.fcuny.xyz";
+    };
+    metrics-exporter = { enable = true; };
+    syncthing.enable = true;
+    backup = {
+      enable = true;
+      repository = "/data/slow/backups/systems";
+      timerConfig = { OnCalendar = "00:15"; };
+      passwordFile = secrets."restic/repo-systems".path;
+      paths =
+        [ "/home" "/data/fast/music" "/data/fast/photos" "/data/fast/videos" ];
+    };
+  };
+}