nixos-config/configs/nixos/ni/modules/services/monitoring.nix

36 lines
816 B
Nix

{ config, lib, pkgs, ... }:
let
hostCfg = config.hosts.ni;
cfg = hostCfg.services.monitoring;
in
{
options.hosts.ni.services.monitoring.enable =
lib.mkEnableOption "enable local desktop monitoring service";
config = lib.mkIf cfg.enable {
state.ports.grafana.value = 24532;
services.grafana.enable = true;
services.grafana.declarativePlugins = with pkgs.grafanaPlugins; [
grafana-piechart-panel
];
services.grafana.settings = {
database.type = "sqlite3";
server = {
http_address = "localhost";
http_port = config.state.ports.grafana.value;
};
# It's a local instance for a local use so there's not much to
# worry about.
security = {
admin_password = "admin";
admin_user = "admin";
};
};
};
}