mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-09-10 04:40:05 +00:00
✨ Add Firefox home module and recursively generate extension list
This commit is contained in:
parent
459a0427c3
commit
92eb3abcdf
2 changed files with 52 additions and 1 deletions
39
modules/home/apps/firefox/default.nix
Normal file
39
modules/home/apps/firefox/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
lib,
|
||||
self,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (self) namespace;
|
||||
inherit (self.lib) mkOpt;
|
||||
inherit (lib) mkEnableOption types mkIf;
|
||||
|
||||
cfg = config.${namespace}.apps.firefox;
|
||||
in
|
||||
{
|
||||
options.${namespace}.apps.firefox = {
|
||||
enable = mkEnableOption "the Firefox browser.";
|
||||
extensions = mkOpt (types.listOf types.str) [
|
||||
"uBlock0@raymondhill.net"
|
||||
] "List of extension slugs to install";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
ExtensionSettings = builtins.foldl' (
|
||||
acc: id:
|
||||
acc
|
||||
// {
|
||||
${id} = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
}
|
||||
) { } cfg.extensions;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue