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 42ce79e..e8e0a2d 100644 --- a/pkgs/athena-bccr/firmador.nix +++ b/pkgs/athena-bccr/firmador.nix @@ -3,15 +3,15 @@ lib, makeWrapper, maven, - openjdk21, + openjdk, wrapGAppsHook3, pkcs11-module ? null, }: let - jdk = openjdk21.override { + jdk = openjdk.override { enableJavaFX = true; }; - version = "2.0.0+master"; + version = "1.9.8+master"; in maven.buildMavenPackage { pname = "firmador"; @@ -19,16 +19,15 @@ in src = fetchgit { url = "https://codeberg.org/firmador/firmador"; - rev = "76a16ff5fa7c1a9c3f4a03359742fc09cb98b2c4"; - hash = "sha256-xzcJXIU3NFPUdwRNUvymScpBS1eeJYdb8ffevUbAS1o="; + rev = "676b0e3c0dc5adb0628d4d98efcfccfca3daa8a7"; + hash = "sha256-f/EKll1csvUCRSt4G1SeDB4gVW+ZtUgJjlmM7PlafyQ="; }; patches = [ ./0001-Remove-CheckUpdatePlugin-from-default-list.patch ]; - mvnJdk = jdk; - mvnHash = "sha256-SCTXlLqc4SxWWZlQLJc+T7jM991LLwU9MqDALcbECsw="; + mvnHash = "sha256-iqooTe8xTrkG0JxJXlAMHExt6D8n+msB/VrCNrSJ10c="; nativeBuildInputs = [ makeWrapper