From a1d60a61074245c48a5efb09c64b08a94ca24a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Fri, 19 Jul 2024 22:31:18 +0200 Subject: [PATCH] hosts/legion/nas: enable restic, make services depend on zfs mount --- hosts/legion/nas/default.nix | 5 ++++- hosts/legion/nas/media.nix | 22 +++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/hosts/legion/nas/default.nix b/hosts/legion/nas/default.nix index 6dad8bc..d05cbef 100644 --- a/hosts/legion/nas/default.nix +++ b/hosts/legion/nas/default.nix @@ -37,11 +37,14 @@ systemd.mounts = [ { type = "none"; - options = "bind,nofail"; + options = "bind"; what = "/media/data"; where = "/export/yotta-data"; requires = [ "zfs-mount.service" ]; + after = [ "zfs-mount.service" ]; wantedBy = [ "multi-user.target" ]; + before = ["nfs-server.service"]; + requiredBy = ["nfs-server.service"]; } ]; diff --git a/hosts/legion/nas/media.nix b/hosts/legion/nas/media.nix index 62aa92c..726ac5e 100644 --- a/hosts/legion/nas/media.nix +++ b/hosts/legion/nas/media.nix @@ -1,4 +1,4 @@ -{ username, ... }: +{ username, lib, ... }: { services.jellyfin.enable = true; services.radarr.enable = true; @@ -10,6 +10,11 @@ config.download_location = "/media/deluge"; }; + services.restic.server = { + enable = true; + dataDir = "/media/restic"; + }; + users.users = { jellyfin.extraGroups = [ "radarr" @@ -19,4 +24,19 @@ sonarr.extraGroups = [ "deluge" ]; ${username}.extraGroups = [ "deluge" ]; }; + + systemd.services = + lib.genAttrs + [ + "jellyfin" + "radarr" + "sonarr" + "prowlarr" + "deluged" + "restic-rest-server" + ] + (_: { + requires = [ "zfs-mount.service" ]; + after = [ "zfs-mount.service" ]; + }); }