{ config , pkgs , lib , ... }: let tailscaleMagicDNS = "neon-dory.ts.net"; in { age.secrets = { tailscale-authKey.file = ../../secrets/tailscale-authKey.age; }; my = { utils.commons.enable = true; services.media-mgr = { exportMetrics.enable = true; # proxy = { # enable = true; # domain = "tegola.pro"; # host = "arr.internal"; # }; }; monitoring = { prometheus = { enable = true; # proxy = { # domain = "tegola.pro"; # host = "metrics.internal"; # }; }; }; networking = { tailscale = { enable = true; magicDNSDomain = tailscaleMagicDNS; authKeyFile = config.age.secrets.tailscale-authKey.path; }; # caddy.enable = true; }; virtualisation = { proxmox.enable = true; }; }; time.timeZone = "Europe/Rome"; # Extra packages environment.systemPackages = with pkgs; [ ]; services = { openssh.enable = true; prometheus.scrapeConfigs = [ { job_name = "host-metrics"; static_configs = [ { targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ]; } ]; } { job_name = "host-caddy"; static_configs = [ { targets = [ "caddy.internal:${toString config.services.prometheus.exporters.node.port}" ]; } ]; } ]; prometheus.exporters = { node = { enable = true; enabledCollectors = [ "systemd" ]; }; }; }; # networking.nameservers = [ "192.168.1.2" ]; system.stateVersion = "24.05"; }