aboutsummaryrefslogtreecommitdiff
path: root/modules/dashboard/default.nix
blob: f3c55ff2cf68b99811cdb54d1da5822d4ff011ae (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; };
  isKeysUnique =
    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 = isKeysUnique; 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;
  };
}