aboutsummaryrefslogtreecommitdiff
path: root/modules/dashboard/default.nix
blob: 4dd3ef039de43138b7dfa5cef3bad00b18561bda (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ settings, lib, ... }:
with lib;
let
  links = import ./links.nix { inherit settings; };
  areKeysUnique =
    let linkKeys = map (l: l.key) (filter (hasAttr "key") links);
    in length linkKeys == length (lib.unique linkKeys);
in
{
  imports = [ ../../services/bacchus-dashboard/bacchus-dashboard.service.nix ];

  assertions = [
    { assertion = areKeysUnique; message = "The dashboard link 'key' property must be unique"; }
  ];

  services.bacchus-dashboard = {
    enable = true;
    openFirewall = true;
    port = settings.network.ports.dashboard;
    title = "Bacchus Dashboard";
    # embedLink = settings.grafana.dashboardEmbedLink;
    links = links;
  };
}