blob: cee0dc4b90fdbe649bc23451b35728c12087d715 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
{ inputs, config, pkgs, lib, ... }:
let music-organizer = inputs.mytools.packages.${pkgs.system}.music-organizer;
in {
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
../common/server/navidrome.nix
];
# tool to organize the music on the NAS
environment.systemPackages = with pkgs; [ music-organizer ];
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" ];
};
};
}
|