diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 40393f85b1ad9..424c45d305e84 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -27,6 +27,7 @@ let , nameSuffix ? "" , icon ? browserName , extraNativeMessagingHosts ? [] + , pkcs11Modules ? [] , forceWayland ? false , useGlvnd ? true , cfg ? config.${browserName} or {} @@ -74,7 +75,8 @@ let ++ lib.optionals (cfg.enableQuakeLive or false) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]) ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash - ++ lib.optional (config.pulseaudio or true) libpulseaudio; + ++ lib.optional (config.pulseaudio or true) libpulseaudio + ++ pkcs11Modules; gtk_modules = [ libcanberra-gtk2 ]; in stdenv.mkDerivation { @@ -154,6 +156,11 @@ let ln -sLt $out/lib/mozilla/native-messaging-hosts $ext/lib/mozilla/native-messaging-hosts/* done + mkdir -p $out/lib/mozilla/pkcs11-modules + for ext in ${toString pkcs11Modules}; do + ln -sLt $out/lib/mozilla/pkcs11-modules $ext/lib/mozilla/pkcs11-modules/* + done + # For manpages, in case the program supplies them mkdir -p $out/nix-support echo ${browser} > $out/nix-support/propagated-user-env-packages diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix index 46dcec1a48ae1..1fdd5b9a7228e 100644 --- a/pkgs/tools/security/eid-mw/default.nix +++ b/pkgs/tools/security/eid-mw/default.nix @@ -66,13 +66,6 @@ stdenv.mkDerivation rec { eid-viewer is also installed. - **TO FIX:** - The procedure below did not work for me, I had to install the .so directly in firefox as instructed at - https://eid.belgium.be/en/log-eid#7507 - and specify - /run/current-system/sw/lib/libbeidpkcs11.so - as the path to the module. - This package only installs the libraries. To use eIDs in Firefox or Chromium, the eID Belgium add-on must be installed. This package only installs the libraries. To use eIDs in NSS-compatible @@ -83,6 +76,11 @@ stdenv.mkDerivation rec { Before uninstalling this package, it is a very good idea to run ~$ eid-nssdb [--system] remove and remove all ~/.pki and/or /etc/pki directories no longer needed. + + The above procedure doesn't seem to work in Firefox. You can override the + firefox wrapper to add this derivation to the PKCS#11 modules, like so: + + firefox.override { pkcs11Modules = [ pkgs.eid-mw ]; } ''; platforms = platforms.linux; maintainers = with maintainers; [ bfortz ];