.files/nix/configurations/vanadium/home/firefox.nix

95 lines
2.1 KiB
Nix

{
pkgs,
config,
...
}: let
inherit (pkgs) nur;
in {
programs.firefox = {
enable = true;
policies.SearchEngines = {
Default = "searxng";
Add = [
{
Name = "searxng";
URLTemplate = "https://sxng.confusedcompiler.org/search?q={searchTerms}";
}
];
};
profiles = {
default = {
userChrome = ''
/* Only works in Firefox if layout.css.has-selector.enabled is set to true in about:config . */
html#main-window body:has(#sidebar-box[sidebarcommand=treestyletab_piro_sakura_ne_jp-sidebar-action][checked=true]:not([hidden=true])) #TabsToolbar {
visibility: collapse !important;
}
/* monofont tweak */
#statuspanel-label {
font-family: monospace;
}
.urlbar-input-box {
font-family: monospace;
}
'';
settings = {
"layout.css.has-selector.enabled" = true;
};
extensions.packages = let
addons = nur.repos.rycee.firefox-addons;
in [
addons.sponsorblock
addons.return-youtube-dislikes
addons.shinigami-eyes
addons.consent-o-matic
addons.tree-style-tab
];
};
junk = {
id = 1;
inherit
(config.programs.firefox.profiles.default)
settings
userChrome
;
extensions.packages = let
addons = nur.repos.rycee.firefox-addons;
in [addons.multi-account-containers];
containers = {
raisin = {
color = "purple";
icon = "fruit";
id = 1;
};
pomme = {
color = "red";
icon = "fruit";
id = 2;
};
};
};
# Isolate it because it's proprietary
tampermonkey = {
id = 2;
inherit
(config.programs.firefox.profiles.default)
settings
userChrome
;
extensions.packages = let
addons = nur.repos.rycee.firefox-addons;
in [addons.tampermonkey];
};
};
};
}