helm/hosts/box/default.nix

86 lines
2.3 KiB
Nix
Raw Permalink Normal View History

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
# ../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
# ../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
../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;
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
"/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";
}