nix/home-manager/common/software/gui/firefox.nix
2024-10-29 03:39:43 +01:00

128 lines
4 KiB
Nix

{ pkgs, ... }: {
# home.file.".mozilla/firefox/nix-user-profile/chrome/firefox-gnome-theme".source = inputs.firefox-gnome-theme;
programs.firefox = {
enable = true;
profiles.default = {
isDefault = true;
name = "default";
extraConfig = builtins.readFile ./firefox/arkenfox-user.js;
# userChrome = ''@import "firefox-gnome-theme/userChrome.css";'';
# userContent = ''@import "firefox-gnome-theme/userContent.css";'';
# https://discourse.nixos.org/t/anyone-using-firefox-gnome-theme-successfully-with-nixos-home-manager/19248/3
settings = {
## Firefox gnome theme ## - https://github.com/rafaelmardojai/firefox-gnome-theme/blob/7cba78f5216403c4d2babb278ff9cc58bcb3ea66/configuration/user.js
# (copied into here because home-manager already writes to user.js)
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Enable customChrome.cs
"browser.uidensity" = 0; # Set UI density to normal
"svg.context-properties.content.enabled" = true; # Enable SVG context-propertes
"browser.theme.dark-private-windows" = false; # Disable private window dark theme
};
# https://nur.nix-community.org/repos/rycee/
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
darkreader
ublock-origin
privacy-redirect
link-cleaner
adnauseam
sponsorblock
multi-account-containers
kagi-search
consent-o-matic
bitwarden
];
containersForce = true;
containers = {
"Personal" = {
color = "orange";
icon = "circle";
id = 1;
};
"Google" = {
color = "blue";
icon = "fingerprint";
id = 2;
};
"Amazon" = {
color = "yellow";
icon = "cart";
id = 3;
};
"Shopping" = {
color = "pink";
icon = "cart";
id = 4;
};
"Banking" = {
color = "red";
icon = "dollar";
id = 5;
};
"Other" = {
color = "green";
icon = "fingerprint";
id = 6;
};
};
search = {
default = "Kagi";
privateDefault = "Kagi";
force = true;
order = [ "Kagi" ];
engines = {
"Kagi" = {
urls = [{
template = "https://kagi.com/search";
params = [
{ name = "q"; value = "{searchTerms}"; }
];
}];
definedAliases = [ "@k" ];
};
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"NixOS Options" = {
urls = [{
template = "https://search.nixos.org/options";
params = [
{ name = "type"; value = "options"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@no" ];
};
"NixOS Wiki" = {
urls = [{ template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; }];
iconUpdateURL = "https://wiki.nixos.org/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
};
"Home Manager Options" = {
urls = [{ template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master"; }];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@hm" ];
};
};
};
};
};
}