From effa05c05234c6dfd5c4d336f4331436fe96d83f Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Thu, 20 Apr 2023 21:30:47 +0200 Subject: [PATCH] nixos/firefox: add config option for Web eID support This allows users to set `programs.firefox.nativeMessagingHosts.euwebid = true` to make the native companion app available in Firefox. It's used by the Web eID browser extension (https://addons.mozilla.org/en/firefox/addon/web-eid-webextension/), which can be tried out at https://web-eid.eu/ - pressing the "Authenticate" button there should open a new window. --- nixos/modules/programs/firefox.nix | 4 ++++ pkgs/applications/networking/browsers/firefox/wrapper.nix | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/firefox.nix b/nixos/modules/programs/firefox.nix index 3a5105c57d76..ead048134d8d 100644 --- a/nixos/modules/programs/firefox.nix +++ b/nixos/modules/programs/firefox.nix @@ -201,6 +201,7 @@ in nativeMessagingHosts = mapAttrs (_: v: mkEnableOption (mdDoc v)) { browserpass = "Browserpass support"; bukubrow = "Bukubrow support"; + euwebid = "Web eID support"; ff2mpv = "ff2mpv support"; fxCast = "fx_cast support"; gsconnect = "GSConnect support"; @@ -217,6 +218,8 @@ in extraPrefs = cfg.autoConfig; extraNativeMessagingHosts = with pkgs; optionals nmh.ff2mpv [ ff2mpv + ] ++ optionals nmh.euwebid [ + web-eid-app ] ++ optionals nmh.gsconnect [ gnomeExtensions.gsconnect ] ++ optionals nmh.jabref [ @@ -230,6 +233,7 @@ in nixpkgs.config.firefox = { enableBrowserpass = nmh.browserpass; enableBukubrow = nmh.bukubrow; + enableEUWebID = nmh.euwebid; enableTridactylNative = nmh.tridactyl; enableUgetIntegrator = nmh.ugetIntegrator; enableFXCastBridge = nmh.fxCast; diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 1e8240d6800e..6b08a891ec69 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -5,7 +5,7 @@ ## various stuff that can be plugged in , ffmpeg_5, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc , gnome/*.gnome-shell*/ -, browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire +, browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, web-eid-app, pipewire , tridactyl-native , fx_cast_bridge , udev @@ -65,6 +65,7 @@ let [ ] ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass) ++ lib.optional (cfg.enableBukubrow or false) bukubrow + ++ lib.optional (cfg.enableEUWebID or false) web-eid-app ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native ++ lib.optional (cfg.enableGnomeExtensions or false) gnome-browser-connector ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator