Compare commits

...

2 Commits

Author SHA1 Message Date
Moritz Böhme 298aa410eb
refacor: firefox search engine settings 2024-02-12 10:27:16 +01:00
Moritz Böhme 33df89b381
refator: sort list 2024-02-12 10:26:27 +01:00
2 changed files with 30 additions and 13 deletions

View File

@ -42,18 +42,18 @@ in
".SynologyDrive/log" ".SynologyDrive/log"
".cache/keepassxc" ".cache/keepassxc"
".cache/nvim/luac" ".cache/nvim/luac"
".cat_installer" # eduroam
".config/JetBrains"
".config/Nextcloud" ".config/Nextcloud"
".config/calibre"
".config/github-copilot"
".config/kdeconnect"
".config/keepassxc" ".config/keepassxc"
".local/share/JetBrains"
".local/share/direnv" ".local/share/direnv"
".local/share/nvim" ".local/share/nvim"
".local/share/zoxide" ".local/share/zoxide"
".local/share/JetBrains"
".config/JetBrains"
".config/calibre"
".local/state/nvim" ".local/state/nvim"
".config/kdeconnect"
".config/github-copilot"
".cat_installer" # eduroam
".mozilla" ".mozilla"
"Documents" "Documents"
"Downloads" "Downloads"

View File

@ -29,19 +29,36 @@ in
); );
}; };
}; };
setSearchEngines = mkEnableOption "firefox search engines"; package = mkOption {
type = types.package;
default = pkgs.firefox;
example = pkgs.firefox-esr;
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
home-manager.users.moritz.programs.firefox = { home-manager.users.moritz.programs.firefox = {
enable = true; enable = true;
policies = mkIf cfg.setSearchEngines { policies =
SearchEngines = { let
removeExtensions = [ "Google" "Amazon.de" "Bing" "Amazon" "Wikipedia (en)" "Wikipedia (de)" ];
convertName = name:
let
lower = toLower name;
escaped = replaceStrings [ "." ] [ "dot" ] lower;
sanitized = head (splitString " " escaped);
in
"${sanitized}@search.mozilla.org";
in
{
SearchEngines = mkIf (hasInfix "esr" cfg.package) {
Default = "Kagi"; Default = "Kagi";
Remove = [ "Google" "Amazon.de" "Bing" ]; Remove = removeExtensions;
}; };
ExtensionSettings = genAttrs
(map convertName removeExtensions)
(_: { installation_mode = "blocked"; });
}; };
package = if cfg.setSearchEngines then pkgs.firefox-esr else pkgs.firefox;
profiles."default" = { profiles."default" = {
extraConfig = mkIf cfg.arkenfox.enable '' extraConfig = mkIf cfg.arkenfox.enable ''
// Arkenfox user.js // Arkenfox user.js