firefox: add support for add-on packages
Since no official source of packages exist the option is hidden for now. For adventurous people there is an overlay of a few selected add-ons available at https://rycee.gitlab.io/nixpkgs-firefox-addons/overlay.tar.gz This overlay is automatically built daily using the REST API available on https://addons.mozilla.org/.
This commit is contained in:
parent
7ec153889c
commit
267afa5a3b
|
@ -6,6 +6,8 @@ let
|
||||||
|
|
||||||
cfg = config.programs.firefox;
|
cfg = config.programs.firefox;
|
||||||
|
|
||||||
|
extensionPath = "extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -22,6 +24,23 @@ in
|
||||||
description = "The unwrapped Firefox package to use.";
|
description = "The unwrapped Firefox package to use.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extensions = mkOption {
|
||||||
|
type = types.listOf types.package;
|
||||||
|
default = [];
|
||||||
|
example = literalExample ''
|
||||||
|
with pkgs.firefox-addons; [
|
||||||
|
https-everywhere
|
||||||
|
privacy-badger
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
List of Firefox add-on packages to install. Note, it is
|
||||||
|
necessary to manually enable these extensions inside Firefox
|
||||||
|
after the first installation.
|
||||||
|
'';
|
||||||
|
visible = false;
|
||||||
|
};
|
||||||
|
|
||||||
enableAdobeFlash = mkOption {
|
enableAdobeFlash = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
|
@ -60,5 +79,18 @@ in
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
[ (wrapper cfg.package { }) ];
|
[ (wrapper cfg.package { }) ];
|
||||||
|
|
||||||
|
home.file.".mozilla/${extensionPath}" = mkIf (cfg.extensions != []) (
|
||||||
|
let
|
||||||
|
extensionsEnv = pkgs.buildEnv {
|
||||||
|
name = "hm-firefox-extensions";
|
||||||
|
paths = cfg.extensions;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
source = "${extensionsEnv}/share/mozilla/${extensionPath}";
|
||||||
|
recursive = true;
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue