{ lib, pkgs, ... }: let loadDashboard = file: lib.pipe file [ lib.importJSON ({ dashboard, ... }: rec { name = "provision-dashboard-${dashboard.uid}.json"; path = builtins.toFile name (builtins.toJSON dashboard); }) ]; dashboardsDir = pkgs.linkFarm "grafana-provisioning-dashboards" (map loadDashboard (lib.filesystem.listFilesRecursive ./objects/dashboards)); in { services.grafana.provision.dashboards.settings = { providers = lib.singleton { options.path = dashboardsDir; allowUiUpdates = true; }; }; }