summaryrefslogtreecommitdiff
path: root/config/storage.nix
blob: ec14faaf8360e7dfe366331958a410e6ba3a1d66 (plain)
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
{ lib, pkgs, ... }:
{
  boot.supportedFilesystems = [ "nfs" ];
  fileSystems."/backups" = {
    device = "ds218.aristote.mesh:/volume1/hephaistos";
    fsType = "nfs";
    options = [
      # lazy mounting
      "x-systemd.automount"
      "noauto"
      # sleeping
      "x-systemd.idle-timeout=600"
    ];
  };

  services.borgbackup.jobs.srv = {
    paths = "/srv";
    exclude = [ ];
    repo = "/backups/srv";
    doInit = false;
    encryption = {
      mode = "repokey";
      passCommand = "cat /etc/borg/passphrase";
    };
    compression = "auto,lzma";
    startAt = "daily";
    prune.keep.daily = 7;
  };
  systemd.services.borgbackup-job-srv = lib.mkMerge [
    {
      personal.monitor = true;
    }
    (pkgs.lib.personal.services.checkNetwork {
      hosts = [ "ds218.aristote.mesh" ];
      restart = false;
    })
  ];
}