nix/home-manager/common/software/gui/firefox.nix
2024-08-15 17:51:59 +09:00

121 lines
4.1 KiB
Nix

{ inputs, config, pkgs, theme, lib, ... }: {
# 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
rycee.firefox-addons.ublock-origin
rycee.firefox-addons.privacy-redirect
rycee.firefox-addons.link-cleaner
rycee.firefox-addons.adnauseam
rycee.firefox-addons.sponsorblock
rycee.firefox-addons.multi-account-containers
];
containersForce = true;
containers = {
"Personal" = {
color = "toolbar";
icon = "circle";
id = 0;
};
"Google" = {
color = "blue";
icon = "fingerprint";
id = 1;
};
"Amazon" = {
color = "yellow";
icon = "cart";
id = 2;
};
"Shopping" = {
color = "pink";
icon = "cart";
id = 3;
};
"Banking" = {
color = "red";
icon = "dollar";
id = 4;
};
};
search = {
default = "Ecosia";
privateDefault = "Ecosia";
force = true;
order = [ "Ecosia" ];
engines = {
"Ecosia" = {
urls = [{
template = "https://www.ecosia.org/search";
params = [
{ name = "method"; value = "index"; }
{ name = "q"; value = "{searchTerms}"; }
];
}];
definedAliases = [ "@ec" ];
};
"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" ];
};
};
};
};
};
}