summaryrefslogtreecommitdiff
path: root/trivionomicon/modules/athena-bccr/options.nix
blob: dc4c986eacd34e0cce5dd48d6e1a74af2d3a1b57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{lib, ...}:
with lib.types; let
  mirror = lib.mkOption {
    type = nullOr str;
    default = null;
    description = "release zip mirror base URL, if null then the release zip must be manually added to the Nix store";
  };

  release = lib.mkOption {
    type = str;
    default = "latest";
    description = "pinned athena-bccr release tag";
  };

  vendor = lib.mkOption {
    type = enum ["athena" "idopte"];
    default = "idopte";
    description = "driver dvendor";
  };
in {
  hm = {
    inherit mirror release vendor;

    gaudiHash = lib.mkOption {
      type = nullOr str;
      default = null;
      description = "hash of the Gaudi client";
    };
  };

  sys = {
    inherit mirror release vendor;

    group = lib.mkOption {
      type = str;
      default = "users";
      description = "user group with full access to the smartcard reader";
    };
  };
}