From 85fca14d01860ebc3694d0596663c3c22e9edf48 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sat, 12 Mar 2022 19:59:53 -0800 Subject: hosts: add profiles Profiles contain a collection of modules. --- hosts/profiles/nas.nix | 35 +++++++++++++++++++++++++++++++++++ hosts/profiles/server.nix | 7 +++++++ 2 files changed, 42 insertions(+) create mode 100644 hosts/profiles/nas.nix create mode 100644 hosts/profiles/server.nix (limited to 'hosts/profiles') diff --git a/hosts/profiles/nas.nix b/hosts/profiles/nas.nix new file mode 100644 index 0000000..10ba67c --- /dev/null +++ b/hosts/profiles/nas.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + # other profiles + ./server.nix + ../common/server/samba.nix + ../common/server/prometheus.nix + ../common/server/grafana.nix + ../common/server/traefik.nix + ../common/server/transmission.nix + ../common/server/unifi.nix + ../common/server/gitea.nix + ../common/server/rclone.nix + ]; + + users.groups.nas.gid = 5000; + users.users.nas = { + uid = 5000; + group = "nas"; + isSystemUser = true; + }; + + services.restic.backups = { + media = { + paths = [ "/data/fast/music" "/data/fast/photos" ]; + repository = "/data/slow/backups/systems"; + passwordFile = config.age.secrets.restic-repo-systems.path; + timerConfig = { OnCalendar = "00:55"; }; + initialize = true; + extraBackupArgs = [ "--tag media" ]; + pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" "--keep-monthly 12" ]; + }; + }; +} diff --git a/hosts/profiles/server.nix b/hosts/profiles/server.nix new file mode 100644 index 0000000..667b828 --- /dev/null +++ b/hosts/profiles/server.nix @@ -0,0 +1,7 @@ +o{ config, pkgs, lib, ... }: + +{ + imports = [ + ../common/server/monitoring.nix + ]; +} -- cgit 1.4.1