{ self, pkgs, ... }:
{
  imports = [
    ./configuration.nix
    ../profiles/core
    ../profiles/server
    ../profiles/taskd
    ../profiles/shaarli
    ../profiles/dns
    ../profiles/monitoring
    ../profiles/nfs
    ../profiles/gonic
    ../profiles/headphones
    ../profiles/radicale
    ../profiles/seafile
    ../profiles/syncthing
    ../profiles/dhyan
    ../profiles/calibre
    ../profiles/wallabag
    ../profiles/finance
    ../profiles/sync/website
    ../profiles/grasp
    # ../profiles/archivebox
    ../profiles/woodpecker-agent
    ../profiles/jellyfin
    ../profiles/ulogger-server
    ../profiles/photoprism
  ];

  # Backups
  age.secrets.borg-password.file = "${self}/secrets/borg-password.age";
  services.postgresqlBackup = {
    enable = true;
    databases = [ "wallabag" "photoprism" "ulogger" ];
    location = "/var/backup/postgresql";
  };
  mossnet.backup = {
    enable = true;
    name = "mossnet";
    paths = [
      "/var/lib/taskserver" # taskwarrior
      "/var/www/shaarli-config" # sharli
      "/var/backup/postgresql" # wallabag
      "/var/lib/radicale" # radicale
      "/home/anish/usr/drawing" # syncthing
      "/data/books" # calibre-web
      # "/home/anish/usr/nonfiction" # syncthing
      "/home/anish/usr/finance" # beancount
      "/mnt/two/postgres" # sealight postgres backups TODO remove once moved to capsul 
    ];
    # seafile
  };

  age.secrets.box-wg.file = "${self}/secrets/box-wg.age";
  age.secrets.box-wg.owner = "anish";
  age.secrets.borg-key.file = "${self}/secrets/borg-key.age";
  mossnet.wg = {
    enable = true;
    ips = [ "10.0.69.4/24" ];
    privateKeyFile = "/run/agenix/box-wg";
  };
  services.syncthing.guiAddress = "0.0.0.0:8384"; # public syncthing

  system.stateVersion = "19.09";
}
