Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify Firefox installation to ease Firefox's Gnome extension and FIrefox's GSconnect extension installation #10

Open
Thatoo opened this issue Apr 1, 2024 · 2 comments

Comments

@Thatoo
Copy link

Thatoo commented Apr 1, 2024

Hello,

In order to install https://addons.mozilla.org/fr/firefox/addon/gnome-shell-integration and https://addons.mozilla.org/fr/firefox/addon/gsconnect/ and make them working, we need to install firefox this way :

programs.firefox = {
   enable = true;
   package = pkgs.firefox;
   nativeMessagingHosts.packages = with pkgs; [
     browserpass
     gnomeExtensions.gsconnect
   ];
 };

instead of, as coded here, https://github.com/snowfallorg/icicle/blob/8e3776886fa391473d9c5421a7334d04638cb75f/src/utils/install.rs#L557-L560C7 :

    # List packages installed in system profile.
  environment.systemPackages = with pkgs; [
    firefox
  ];

Of course, gnomeExtensions.gsconnect should not be added at installation time thanks to icicle but should be added by the gsconnect module as I explain in my researches here : snowfallorg/snowflakeos-modules#4

However, to make it easy for the gsconnect module to do so, it would be better if icicle was installing Firefox like that

programs.firefox = {
   enable = true;
   package = pkgs.firefox;
   nativeMessagingHosts.packages = with pkgs; [
     browserpass
   ];
 };

instead of how it is coded in https://github.com/snowfallorg/icicle/blob/8e3776886fa391473d9c5421a7334d04638cb75f/src/utils/install.rs#L557-L560C7

I'm pretty sure it is a good thing to enable nativeMessagingHosts.packages.browserpass at installation time because Gnome user would expect to be able to use https://addons.mozilla.org/fr/firefox/addon/gnome-shell-integration right after installation time.

I even wonder if this firefox extension should not be installed by default during installation time thanks to icicle. If I understand what is written here, https://support.mozilla.org/en-US/kb/deploying-firefox-with-extensions , it would require to download the last version from https://addons.mozilla.org/firefox/downloads/latest/gnome-shell-integration/latest.xpi, rename it to [email protected] (the add-on ID found in here https://gitlab.gnome.org/GNOME/gnome-browser-extension/-/blob/master/extension/manifest.firefox.json) and place it into the <firefox installation folder>/distribution/extensions/ folder.

@Thatoo
Copy link
Author

Thatoo commented Apr 3, 2024

Thanks @vlinkz for this PR NixOS/calamares-nixos-extensions@4668933
Awesome, you already started to work on it 😉

@Thatoo
Copy link
Author

Thatoo commented Apr 7, 2024

If installing browserpass is a too big change, we could do the same than for Thunderbird, just suggesting it by writing it but commenting it like

    nativeMessagingHosts.packages = with pkgs; [
      # browserpass

This way, it won't change installation process at all but it will make it very much easier for module to activate it and make Firefox work with Gnome extension.

It would also make it easy for gsconnect module to install the gsconnect extension within firefox and why not creating a firefoxwpa module too :

    nativeMessagingHosts.packages = with pkgs; [
      browserpass
      gnomeExtensions.gsconnect
      firefoxpwa
    ];
  };

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant