86 lines
2.2 KiB
Nix
86 lines
2.2 KiB
Nix
{ 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
|
|
#../profiles/postgres_upgrade_script
|
|
];
|
|
|
|
# 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
|
|
};
|
|
|
|
services.transmission = {
|
|
enable = true;
|
|
settings = {
|
|
rpc.bind-address = "0.0.0.0";
|
|
download-dir = "/mnt/two/new-music";
|
|
};
|
|
};
|
|
services.nginx.virtualHosts."transmission.mossnet.lan" = {
|
|
enableACME = false;
|
|
forceSSL = false;
|
|
|
|
locations."/" = {
|
|
extraConfig = ''
|
|
proxy_pass http://localhost:9091/;
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
'';
|
|
};
|
|
};
|
|
|
|
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";
|
|
}
|