2023-11-22 15:33:16 -05:00
|
|
|
{
|
2024-06-11 11:13:40 -04:00
|
|
|
config,
|
2023-11-22 15:33:16 -05:00
|
|
|
pkgs,
|
2024-02-26 14:38:51 -05:00
|
|
|
firefox-gx-src,
|
2023-11-22 15:33:16 -05:00
|
|
|
...
|
|
|
|
}: let
|
2024-06-11 11:13:40 -04:00
|
|
|
inherit (config.vars) hostName;
|
2024-06-24 11:38:30 -04:00
|
|
|
inherit (import ../../lib.nix {}) mkVersion;
|
2024-06-11 11:13:40 -04:00
|
|
|
|
2023-11-22 15:33:16 -05:00
|
|
|
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons {});
|
2023-10-09 04:13:58 -04:00
|
|
|
|
2024-02-26 14:38:51 -05:00
|
|
|
firefox-gx = pkgs.callPackage ./firefox-gx {
|
2024-06-24 11:38:30 -04:00
|
|
|
inherit firefox-gx-src mkVersion;
|
2024-02-26 14:38:51 -05:00
|
|
|
};
|
2023-11-22 15:33:16 -05:00
|
|
|
in {
|
2023-10-09 04:13:58 -04:00
|
|
|
home.file = {
|
2024-06-10 22:57:20 -04:00
|
|
|
".mozilla/firefox/matt/chrome/userContent.css".source = "${firefox-gx}/chrome/userContent.css";
|
2023-11-22 15:33:16 -05:00
|
|
|
".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components";
|
|
|
|
".mozilla/firefox/matt/chrome/images".source = "${firefox-gx}/chrome/images";
|
2024-06-10 22:57:20 -04:00
|
|
|
".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons";
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
programs.firefox = {
|
|
|
|
enable = true;
|
|
|
|
profiles.matt = {
|
|
|
|
isDefault = true;
|
|
|
|
id = 0;
|
|
|
|
|
2023-10-10 13:15:05 -04:00
|
|
|
userChrome = ''
|
2024-06-10 22:57:20 -04:00
|
|
|
@import url("file://${firefox-gx}/chrome/userChrome.css");
|
2024-06-11 11:13:40 -04:00
|
|
|
${import ./custom-css.nix hostName}
|
2023-10-10 13:15:05 -04:00
|
|
|
'';
|
|
|
|
|
2023-10-09 04:13:58 -04:00
|
|
|
settings = {
|
2023-10-26 00:35:24 -04:00
|
|
|
# Theme
|
|
|
|
"firefoxgx.tab-shapes" = true;
|
|
|
|
"firefoxgx.left-sidebar" = true;
|
|
|
|
"userChrome.tab.bottom_rounded_corner" = true;
|
|
|
|
"userChrome.tab.bottom_rounded_corner.wave" = false;
|
|
|
|
"userChrome.tab.bottom_rounded_corner.australis" = true;
|
2024-03-18 19:04:09 -04:00
|
|
|
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
2023-10-26 00:35:24 -04:00
|
|
|
|
2024-06-10 22:57:20 -04:00
|
|
|
# Firefox-gx user.js
|
|
|
|
/*
|
|
|
|
Default rules
|
|
|
|
*/
|
|
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
|
|
"svg.context-properties.content.enabled" = true;
|
|
|
|
"layout.css.color-mix.enabled" = true;
|
|
|
|
"browser.tabs.delayHidingAudioPlayingIconMS" = 0;
|
|
|
|
"layout.css.backdrop-filter.enabled" = true;
|
|
|
|
"browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar" = false;
|
2024-06-11 11:13:40 -04:00
|
|
|
"browser.newtabpage.activity-stream.newtabWallpapers.enabled" = true;
|
2024-06-10 22:57:20 -04:00
|
|
|
|
|
|
|
/*
|
|
|
|
To active container tabs without any extension
|
|
|
|
*/
|
|
|
|
"privacy.userContext.enabled" = true;
|
|
|
|
"privacy.userContext.ui.enabled" = true;
|
|
|
|
"privacy.userContext.longPressBehavior" = 2;
|
|
|
|
|
2023-10-09 04:13:58 -04:00
|
|
|
# Open previous windows and tabs
|
|
|
|
"browser.startup.page" = 3;
|
|
|
|
|
|
|
|
# Prefs
|
2023-10-12 09:47:06 -04:00
|
|
|
"layout.css.devPixelsPerPx" = 1.12;
|
2023-10-09 04:13:58 -04:00
|
|
|
"browser.search.widget.inNavBar" = true;
|
|
|
|
"browser.toolbars.bookmarks.visibility" = "always";
|
2023-10-10 13:15:05 -04:00
|
|
|
"browser.toolbars.bookmarks.showInPrivateBrowsing" = true;
|
2023-10-30 20:59:34 -04:00
|
|
|
"ui.key.menuAccessKey" = 0;
|
2023-10-09 04:13:58 -04:00
|
|
|
|
|
|
|
# remove telemetry
|
|
|
|
"datareporting.policy.dataSubmissionEnabled" = false;
|
|
|
|
"datareporting.healthreport.uploadEnabled" = false;
|
|
|
|
"datareporting.healthreport.infoURL" = "";
|
|
|
|
"dom.security.https_only_mode" = true;
|
|
|
|
|
|
|
|
# remove first run and warning stuff
|
|
|
|
"datareporting.policy.firstRunURL" = "";
|
|
|
|
"browser.aboutwelcome.enabled" = false;
|
|
|
|
"browser.aboutConfig.showWarning" = false;
|
|
|
|
|
|
|
|
# Disable firefox autofill
|
|
|
|
"signon.rememberSignons" = false;
|
|
|
|
"extensions.formautofill.addresses.enabled" = false;
|
|
|
|
"extensions.formautofill.creditCards.enabled" = false;
|
|
|
|
|
|
|
|
# remove new tab stuff
|
|
|
|
"extensions.pocket.enabled" = false;
|
|
|
|
"services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
|
|
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
|
|
|
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
|
|
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
|
|
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
|
|
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
|
|
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
search = {
|
|
|
|
default = "DuckDuckGo";
|
|
|
|
force = true;
|
|
|
|
engines = {
|
2024-02-14 17:41:52 -05:00
|
|
|
"Nixpkgs" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
2024-02-14 17:41:52 -05:00
|
|
|
template = "https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20{searchTerms}&type=code";
|
2023-11-22 15:33:16 -05:00
|
|
|
}
|
|
|
|
];
|
2024-02-14 17:41:52 -05:00
|
|
|
iconUpdateURL = "https://github.githubassets.com/favicons/favicon.png";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
|
|
|
definedAliases = ["@pkgs"];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
"NixOS Wiki" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
|
|
|
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
|
|
|
}
|
|
|
|
];
|
2023-10-09 04:13:58 -04:00
|
|
|
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
2023-11-22 15:33:16 -05:00
|
|
|
definedAliases = ["@nw"];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
"MyNixos" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
|
|
|
template = "https://mynixos.com/search?q={searchTerms}";
|
|
|
|
}
|
|
|
|
];
|
2023-10-09 04:13:58 -04:00
|
|
|
iconUpdateURL = "https://mynixos.com/favicon.ico";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
2023-11-22 15:33:16 -05:00
|
|
|
definedAliases = ["@mn"];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
2023-11-01 16:57:01 -04:00
|
|
|
"Noogle" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
2024-01-22 11:09:37 -05:00
|
|
|
template = "https://noogle.dev/q?term={searchTerms}";
|
2023-11-22 15:33:16 -05:00
|
|
|
}
|
|
|
|
];
|
2023-11-01 16:57:01 -04:00
|
|
|
iconUpdateURL = "https://noogle.dev/favicon.ico";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
2023-11-22 15:33:16 -05:00
|
|
|
definedAliases = ["@ng"];
|
2023-11-01 16:57:01 -04:00
|
|
|
};
|
|
|
|
|
2023-10-09 04:13:58 -04:00
|
|
|
"Firefox Add-ons" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
|
|
|
template = "https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
|
|
|
|
}
|
|
|
|
];
|
2023-10-09 04:13:58 -04:00
|
|
|
iconUpdateURL = "https://addons.mozilla.org/favicon.ico";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
2023-11-22 15:33:16 -05:00
|
|
|
definedAliases = ["@fa"];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
"ProtonDB" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
|
|
|
template = "https://www.protondb.com/search?q={searchTerms}";
|
|
|
|
}
|
|
|
|
];
|
2023-10-09 04:13:58 -04:00
|
|
|
iconUpdateURL = "https://www.protondb.com/favicon.ico";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
2023-11-22 15:33:16 -05:00
|
|
|
definedAliases = ["@pdb"];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
"YouTube" = {
|
2023-11-22 15:33:16 -05:00
|
|
|
urls = [
|
|
|
|
{
|
|
|
|
template = "https://www.youtube.com/results?search_query={searchTerms}";
|
|
|
|
}
|
|
|
|
];
|
2023-10-09 04:13:58 -04:00
|
|
|
iconUpdateURL = "https://www.youtube.com/favicon.ico";
|
|
|
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
2023-11-22 15:33:16 -05:00
|
|
|
definedAliases = ["@yt" "@youtube"];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
"Bing".metaData.hidden = true;
|
|
|
|
"Google".metaData.hidden = true;
|
|
|
|
"eBay".metaData.hidden = true;
|
|
|
|
};
|
|
|
|
order = [
|
|
|
|
"DuckDuckGo"
|
|
|
|
"MyNixos"
|
|
|
|
"NixOS Wiki"
|
2024-02-14 17:41:52 -05:00
|
|
|
"Nixpkgs"
|
2023-11-01 16:57:01 -04:00
|
|
|
"Noogle"
|
2023-10-09 04:13:58 -04:00
|
|
|
"Wikipedia (en)"
|
|
|
|
"YouTube"
|
|
|
|
"Firefox Add-ons"
|
|
|
|
"ProtonDB"
|
|
|
|
"Amazon.ca"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2024-06-10 22:57:20 -04:00
|
|
|
extensions = with firefox-addons; [
|
|
|
|
bitwarden
|
|
|
|
checkmarks-web-ext
|
|
|
|
darkreader
|
|
|
|
floccus
|
|
|
|
google-container
|
|
|
|
image-search-options
|
|
|
|
istilldontcareaboutcookies
|
|
|
|
opera-gx-witchcraft-purple
|
|
|
|
return-youtube-dislikes
|
|
|
|
seventv
|
|
|
|
sponsorblock
|
|
|
|
sound-volume
|
|
|
|
stylus
|
|
|
|
ttv-lol-pro
|
|
|
|
ublock-origin
|
|
|
|
undoclosetabbutton
|
|
|
|
];
|
2023-10-09 04:13:58 -04:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|