diff --git a/modules/athena-bccr/hm.nix b/modules/athena-bccr/hm.nix index 683cb4d..df41f12 100644 --- a/modules/athena-bccr/hm.nix +++ b/modules/athena-bccr/hm.nix @@ -5,11 +5,12 @@ doctrine, ... }: let - releases = pkgs.${doctrine.prefix}.athena-bccr.override { - inherit (cfg) mirror vendor; - }; - - athena = releases.${cfg.release}; + athena = + (pkgs.${doctrine.prefix}.athena-bccr.override { + inherit (cfg) mirror; + }).${ + cfg.release + }; in { home.packages = [ athena.firmador diff --git a/modules/athena-bccr/options.nix b/modules/athena-bccr/options.nix index dc4c986..7b6cf93 100644 --- a/modules/athena-bccr/options.nix +++ b/modules/athena-bccr/options.nix @@ -1,40 +1,42 @@ {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 { +with lib.types; { hm = { - inherit mirror release vendor; - gaudiHash = lib.mkOption { type = nullOr str; default = null; description = "hash of the Gaudi client"; }; + + 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"; + }; }; sys = { - inherit mirror release vendor; - group = lib.mkOption { type = str; default = "users"; description = "user group with full access to the smartcard reader"; }; + + 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"; + }; }; } diff --git a/modules/athena-bccr/sys.nix b/modules/athena-bccr/sys.nix index 0b4658c..bd7d758 100644 --- a/modules/athena-bccr/sys.nix +++ b/modules/athena-bccr/sys.nix @@ -6,15 +6,17 @@ doctrine, ... }: let - releases = pkgs.${doctrine.prefix}.athena-bccr.override { - inherit (cfg) mirror vendor; - }; + athena = + (pkgs.${doctrine.prefix}.athena-bccr.override { + inherit (cfg) mirror; + }).${ + cfg.release + }; + + inherit (athena) vendor; - athena = releases.${cfg.release}; driver = athena.card-driver.lib; scmiddleware = "${driver}/lib/SCMiddleware"; - - inherit (cfg) vendor; in { environment = { etc = diff --git a/pkgs/athena-bccr/default.nix b/pkgs/athena-bccr/default.nix index c17911e..038220b 100644 --- a/pkgs/athena-bccr/default.nix +++ b/pkgs/athena-bccr/default.nix @@ -2,14 +2,10 @@ callPackage, lib, mirror ? null, - vendor ? "idopte", }: let - releases = lib.mapAttrs resolveRelease (import ./releases.nix).${vendor}; + latest = "deb64-rev26.2"; - resolveRelease = name: release: - if builtins.isString release - then releases.${release} - else release // {name = name;}; + releases = lib.mapAttrs (name: release: release // {name = name;}) (import ./releases.nix); overrideUnwrapped = default: new: let args = default // new; @@ -23,7 +19,7 @@ pkgsForRelease = release: let inherit (unwrapped) card-driver bccr-cacerts; - unwrapped = overrideUnwrapped {inherit mirror release vendor;} {}; + unwrapped = overrideUnwrapped {inherit mirror release;} {}; pkcs11-module = "${card-driver.lib}/${card-driver.pkcs11-path}"; in { inherit card-driver bccr-cacerts pkcs11-module; @@ -33,4 +29,4 @@ firmador = callPackage ./firmador.nix {inherit pkcs11-module;}; }; in - lib.mapAttrs (_: pkgsForRelease) releases + lib.mapAttrs (_: pkgsForRelease) (releases // {latest = releases.${latest};}) diff --git a/pkgs/athena-bccr/firmador.nix b/pkgs/athena-bccr/firmador.nix index feec48e..e8e0a2d 100644 --- a/pkgs/athena-bccr/firmador.nix +++ b/pkgs/athena-bccr/firmador.nix @@ -27,7 +27,7 @@ in ./0001-Remove-CheckUpdatePlugin-from-default-list.patch ]; - mvnHash = "sha256-QDjhwrKZK/cEQxRYUM+z1zMCNrTHyxRqAhUfNtubhhI="; + mvnHash = "sha256-iqooTe8xTrkG0JxJXlAMHExt6D8n+msB/VrCNrSJ10c="; nativeBuildInputs = [ makeWrapper