{ config, lib, pkgs, ... }: { services.grafana = { enable = true; # Bind to all interfaces. addr = ""; security.adminUser = "fcuny"; analytics.reporting.enable = false; provision = { enable = true; datasources = [{ name = "prometheus"; type = "prometheus"; isDefault = true; url = "http://localhost:9090"; }]; dashboards = [{ disableDeletion = true; options.path = ./dashboards; }]; }; }; age.secrets.restic-repo-systems.file = ../../../secrets/restic/repo-systems.age; services.restic.backups = { grafana = { paths = [ "/var/lib/grafana/data" ]; repository = "/data/slow/backups/systems"; passwordFile = config.age.secrets.restic-repo-systems.path; timerConfig = { OnCalendar = "00:05"; }; initialize = true; extraBackupArgs = [ "--tag grafana" ]; pruneOpts = [ "--keep-daily 7" "--keep-weekly 4" ]; }; }; }