aboutsummaryrefslogtreecommitdiff
path: root/modules/dashboard/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/dashboard/default.nix')
-rw-r--r--modules/dashboard/default.nix10
1 files changed, 9 insertions, 1 deletions
diff --git a/modules/dashboard/default.nix b/modules/dashboard/default.nix
index 9bde252..f3c55ff 100644
--- a/modules/dashboard/default.nix
+++ b/modules/dashboard/default.nix
@@ -1,10 +1,18 @@
-{ settings, ... }:
+{ 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;