diff --git a/nixos/roles/monitoring/grafana.nix b/nixos/roles/monitoring/grafana.nix index d7bda38a..210ca528 100644 --- a/nixos/roles/monitoring/grafana.nix +++ b/nixos/roles/monitoring/grafana.nix @@ -4,28 +4,43 @@ let badge = src: link: ''\n \n''; job = name: badge "https://ci.maralorn.de/badge/${name}.svg" - "https://ci.maralorn.de/jobs/${name}"; + "https://ci.maralorn.de/jobs/${name}"; badges = lib.concatStringsSep "\\n" [ (heading "ci.maralorn.de" "https://ci.maralorn.de") (job "kassandra") (job "test-config") (job "logfeed") - (heading "haskell-taskwarrior" - "https://hackage.haskell.org/package/taskwarrior") - (badge "https://img.shields.io/hackage/v/taskwarrior.svg" - "https://hackage.haskell.org/package/taskwarrior") - (badge - "https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fmaralorn%2Fhaskell-taskwarrior%2Fbadge%3Fref%3Dmaster" - "https://actions-badge.atrox.dev/maralorn/haskell-taskwarrior/goto?ref=master") - (badge "https://img.shields.io/hackage-deps/v/taskwarrior.svg" - "http://packdeps.haskellers.com/reverse/taskwarrior") + ( + heading "haskell-taskwarrior" + "https://hackage.haskell.org/package/taskwarrior" + ) + (badge "https://github.com/maralorn/haskell-taskwarrior/actions/workflows/haskell.yml/badge.svg" "https://github.com/maralorn/taskwarrior/actions") + ( + badge + "https://repology.org/badge/vertical-allrepos/haskell:taskwarrior.svg?columns=3&header=" + "https://repology.org/project/haskell:taskwarrior/versions" + ) + ( + badge "https://img.shields.io/hackage-deps/v/taskwarrior.svg" + "http://packdeps.haskellers.com/reverse/taskwarrior" + ) + ( + heading "nix-output-monitor" + "https://github.com/maralorn/nix-output-monitor" + ) + ( + badge + "https://repology.org/badge/vertical-allrepos/nix-output-monitor.svg?columns=3&header=" + "https://repology.org/project/nix-output-monitor/versions" + ) ]; - dashboards = pkgs.runCommand "dashboards" { } '' + dashboards = pkgs.runCommand "dashboards" {} '' mkdir -p $out cp ${./grafana-dashboards}/* $out substituteInPlace $out/health-status.json --replace '@BADGES@' '${badges}' \ ''; -in { +in +{ services = { grafana = { @@ -38,16 +53,20 @@ in { }; provision = { enable = true; - datasources = [{ - access = "proxy"; - name = "prometheus"; - type = "prometheus"; - url = "http://localhost:9090"; - }]; - dashboards = [{ - name = "Static dashboards"; - options.path = dashboards; - }]; + datasources = [ + { + access = "proxy"; + name = "prometheus"; + type = "prometheus"; + url = "http://localhost:9090"; + } + ]; + dashboards = [ + { + name = "Static dashboards"; + options.path = dashboards; + } + ]; }; }; };