diff options
Diffstat (limited to 'modules/desktop/apps/browsers/librewolf.nix')
| -rw-r--r-- | modules/desktop/apps/browsers/librewolf.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/modules/desktop/apps/browsers/librewolf.nix b/modules/desktop/apps/browsers/librewolf.nix new file mode 100644 index 0000000..1700754 --- /dev/null +++ b/modules/desktop/apps/browsers/librewolf.nix @@ -0,0 +1,66 @@ +{ + config, + options, + lib, + pkgs, + ... +}: let + librewolfConf = config.modules.desktop.apps.browsers.librewolf; +in +{ + options.modules.desktop.apps.browsers.librewolf = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + config = lib.mkIf (librewolfConf.enable) { + home.manager.programs.librewolf = { + enable = true; + profiles = { + "user" = { + id = 0; + isDefault = true; + + search.engines = { + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "Nix Options" = { + urls = [{ + template = "https://search.nixos.org/options"; + params = [ + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@no" ]; + }; + "Nix Wiki" = { + urls = [{ + template = "https://wiki.nixos.org/w/index.php"; + params = [ + { name = "search"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@nw" ]; + }; + }; + }; + }; + }; + + modules.desktop.defaultApplications.apps.browser = rec { + package = pkgs.librewolf; + install = false; + cmd = "${package}/bin/librewolf"; + desktop = "librewolf"; + }; + }; +} |
