2022-12-05 23:09:27 -08:00
|
|
|
{ self, pkgs, ... }:
|
2022-09-18 15:13:50 -07:00
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./configuration.nix
|
2022-12-05 23:09:27 -08:00
|
|
|
../profiles/core
|
|
|
|
../profiles/server
|
|
|
|
../profiles/taskd
|
|
|
|
../profiles/shaarli
|
|
|
|
../profiles/dns
|
2024-03-15 23:25:49 -07:00
|
|
|
# ../profiles/monitoring
|
2022-12-05 23:09:27 -08:00
|
|
|
../profiles/nfs
|
|
|
|
../profiles/gonic
|
2024-03-16 00:56:57 -07:00
|
|
|
# ../profiles/headphones # TODO broken on 23.11, see: https://github.com/rembo10/headphones/issues/3320
|
2022-12-05 23:09:27 -08:00
|
|
|
../profiles/radicale
|
2024-03-16 00:56:57 -07:00
|
|
|
# ../profiles/seafile # waiting for https://github.com/NixOS/nixpkgs/pull/249523 to be merged
|
2022-12-05 23:09:27 -08:00
|
|
|
../profiles/syncthing
|
|
|
|
../profiles/dhyan
|
|
|
|
../profiles/calibre
|
|
|
|
../profiles/wallabag
|
|
|
|
../profiles/finance
|
2023-01-13 05:33:44 -08:00
|
|
|
../profiles/sync/website
|
2023-04-26 23:14:01 -07:00
|
|
|
../profiles/grasp
|
2022-12-13 07:05:56 -08:00
|
|
|
# ../profiles/archivebox
|
2024-01-05 23:44:08 -08:00
|
|
|
# ../profiles/woodpecker-agent
|
2024-03-15 23:25:49 -07:00
|
|
|
# ../profiles/jellyfin
|
2023-04-23 04:02:59 -07:00
|
|
|
../profiles/ulogger-server
|
2023-05-15 07:22:00 -07:00
|
|
|
../profiles/photoprism
|
2024-03-15 23:25:49 -07:00
|
|
|
#../profiles/postgres_upgrade_script
|
2022-12-05 23:09:27 -08:00
|
|
|
];
|
2022-09-18 15:13:50 -07:00
|
|
|
|
|
|
|
# Backups
|
|
|
|
age.secrets.borg-password.file = "${self}/secrets/borg-password.age";
|
|
|
|
services.postgresqlBackup = {
|
|
|
|
enable = true;
|
2023-05-15 07:22:00 -07:00
|
|
|
databases = [ "wallabag" "photoprism" "ulogger" ];
|
2022-09-18 15:13:50 -07:00
|
|
|
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
|
2022-12-15 02:29:28 -08:00
|
|
|
"/data/books" # calibre-web
|
2022-12-10 04:09:21 -08:00
|
|
|
# "/home/anish/usr/nonfiction" # syncthing
|
2022-09-26 06:27:31 -07:00
|
|
|
"/home/anish/usr/finance" # beancount
|
2022-09-18 15:13:50 -07:00
|
|
|
"/mnt/two/postgres" # sealight postgres backups TODO remove once moved to capsul
|
|
|
|
];
|
|
|
|
# seafile
|
|
|
|
};
|
|
|
|
|
2024-01-05 23:44:08 -08:00
|
|
|
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;
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-09-18 15:13:50 -07:00
|
|
|
age.secrets.box-wg.file = "${self}/secrets/box-wg.age";
|
|
|
|
age.secrets.box-wg.owner = "anish";
|
2023-05-30 05:22:03 -07:00
|
|
|
age.secrets.borg-key.file = "${self}/secrets/borg-key.age";
|
2022-09-18 15:13:50 -07:00
|
|
|
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";
|
|
|
|
}
|