aboutsummaryrefslogtreecommitdiff
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" ];
+ };
+ };
+}