nix-da/hosts/shan/configuration.nix

112 lines
2.1 KiB
Nix

{
modulesPath,
lib,
pkgs,
pubkeys,
...
}:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
./disk-config.nix
./adguard.nix
];
age.secrets = {
navidrome.file = ../../secrets/navidrome.age;
adguard-dns-list = {
file = ../../secrets/adguard-dns-list.age;
mode = "444";
};
};
boot.loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;
};
modules = {
container = {
kitchenowl = {
enable = true;
openFirewall = true;
version = "v0.5.2";
};
nginxproxymanager = {
enable = true;
};
};
server = {
paperless = {
enable = true;
openPort = true;
settings = {
PAPERLESS_URL = "https://paperless.ccnlc.eu";
};
};
navidrome = {
enable = true;
library = {
path = "/mnt/music";
type = "nfs";
source = {
ip = "192.168.178.21";
path = "/mnt/Fort/data/music";
};
};
settings = {
Address = "0.0.0.0";
Port = 4533;
};
};
};
services = {
tailscale = {
enable = true;
isExitNode = true;
tags = [ "server" ];
};
rsync-backup = {
enable = true;
modules = [
{
sources = [ "/var/lib/paperless" ];
target = {
location = "paperless-backup";
type = "rsyncd";
host = "nihilus";
};
incremental.enable = true;
}
{
sources = [ "/var/lib/immich" ];
target = {
location = "immich-backup";
type = "rsyncd";
host = "nihilus";
};
incremental.enable = true;
}
];
};
};
};
services = {
openssh.enable = true;
immich = {
enable = true;
openFirewall = true;
host = "0.0.0.0";
};
};
users.users.root.openssh.authorizedKeys.keys = [ pubkeys.ny ];
system.stateVersion = "23.11";
}