{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"; }; }; }