dotfiles/modules/applications/firefox.nix

151 lines
5.6 KiB
Nix
Raw Normal View History

{ config, pkgs, lib, ... }:
2022-04-28 22:55:15 +00:00
{
config = lib.mkIf config.gui.enable {
2022-06-05 01:08:09 +00:00
unfreePackages = [ "onepassword-password-manager" "okta-browser-plugin" ];
2022-06-05 01:08:09 +00:00
home-manager.users.${config.user} = {
2022-05-07 18:24:00 +00:00
2022-12-10 22:47:39 +00:00
programs.firefox = rec {
2022-05-07 18:24:00 +00:00
enable = true;
2022-12-10 22:47:39 +00:00
package =
if pkgs.stdenv.isDarwin then pkgs.firefox-bin else pkgs.firefox;
2022-05-07 18:24:00 +00:00
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin
vimium
multi-account-containers
facebook-container
temporary-containers
onepassword-password-manager
okta-browser-plugin
sponsorblock
reddit-enhancement-suite
2022-12-10 22:47:39 +00:00
return-youtube-dislikes
2022-05-07 18:24:00 +00:00
bypass-paywalls-clean
markdownload
darkreader
snowflake
don-t-fuck-with-paste
i-dont-care-about-cookies
2022-12-10 22:47:39 +00:00
wappalyzer
2022-05-07 18:24:00 +00:00
];
2022-12-10 22:47:39 +00:00
profiles.default = {
2022-05-07 18:24:00 +00:00
id = 0;
name = "default";
isDefault = true;
settings = {
2022-12-10 22:47:39 +00:00
"app.update.auto" = false;
2022-05-07 18:24:00 +00:00
"browser.aboutConfig.showWarning" = false;
"browser.warnOnQuit" = false;
2022-12-10 22:47:39 +00:00
"browser.quitShortcut.disabled" =
if pkgs.stdenv.isLinux then true else false;
2022-05-07 18:24:00 +00:00
"browser.theme.dark-private-windows" = true;
"browser.toolbars.bookmarks.visibility" = "newtab";
"browser.startup.page" = 3; # Restore previous session
"browser.newtabpage.enabled" = false; # Make new tabs blank
2022-11-16 20:52:24 +00:00
"dom.forms.autocomplete.formautofill" = false; # Disable autofill
2022-12-10 22:47:39 +00:00
"extensions.formautofill.creditCards.enabled" =
false; # Disable credit cards
"dom.payments.defaults.saveAddress" = false; # Disable address save
2022-05-07 18:24:00 +00:00
"general.autoScroll" = true; # Drag middle-mouse to scroll
2022-05-14 21:36:38 +00:00
"services.sync.prefs.sync.general.autoScroll" =
false; # Prevent disabling autoscroll
2022-05-07 18:24:00 +00:00
"extensions.pocket.enabled" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" =
true; # Allow userChrome.css
2022-05-11 03:45:50 +00:00
"layout.css.color-mix.enabled" = true;
2022-11-05 17:41:09 +00:00
"ui.systemUsesDarkTheme" =
if config.theme.dark == true then 1 else 0;
2022-05-07 18:24:00 +00:00
};
userChrome = ''
2022-05-08 01:05:11 +00:00
:root {
--focus-outline-color: ${config.theme.colors.base04} !important;
--toolbar-color: ${config.theme.colors.base07} !important;
2022-05-11 03:45:50 +00:00
--tab-min-height: 30px !important;
2022-05-08 01:05:11 +00:00
}
2022-05-07 18:24:00 +00:00
/* Background of tab bar */
.toolbar-items {
background-color: ${config.theme.colors.base00} !important;
2022-05-07 18:24:00 +00:00
}
2022-12-10 22:47:39 +00:00
/* Extra tab bar sides on macOS */
.titlebar-spacer {
background-color: ${config.theme.colors.base00} !important;
}
.titlebar-buttonbox-container {
background-color: ${config.theme.colors.base00} !important;
}
#tabbrowser-tabs {
border-inline-start: 0 !important;
}
/* Private Browsing indicator on macOS */
#private-browsing-indicator-with-label {
background-color: ${config.theme.colors.base00} !important;
margin-inline: 0 !important;
padding-inline: 7px;
}
2022-05-07 18:24:00 +00:00
/* Tabs themselves */
.tabbrowser-tab .tab-stack {
border-radius: 5px 5px 0 0;
overflow: hidden;
background-color: ${config.theme.colors.base00};
color: ${config.theme.colors.base06} !important;
2022-05-07 18:24:00 +00:00
}
.tab-content {
2022-05-11 03:45:50 +00:00
border-bottom: 2px solid color-mix(in srgb, var(--identity-tab-color) 40%, transparent);
border-radius: 5px 5px 0 0;
background-color: ${config.theme.colors.base00};
color: ${config.theme.colors.base06} !important;
2022-05-07 18:24:00 +00:00
}
.tab-content[selected=true] {
2022-05-11 03:45:50 +00:00
border-bottom: 2px solid color-mix(in srgb, var(--identity-tab-color) 25%, transparent);
background-color: ${config.theme.colors.base01} !important;
color: ${config.theme.colors.base07} !important;
2022-05-07 18:24:00 +00:00
}
/* Below tab bar */
#nav-bar {
background: ${config.theme.colors.base01} !important;
2022-05-07 18:24:00 +00:00
}
/* URL bar in nav bar */
2022-05-08 01:05:11 +00:00
#urlbar[focused=true] {
color: ${config.theme.colors.base07} !important;
background: ${config.theme.colors.base02} !important;
caret-color: ${config.theme.colors.base05} !important;
2022-05-08 01:05:11 +00:00
}
#urlbar:not([focused=true]) {
color: ${config.theme.colors.base04} !important;
background: ${config.theme.colors.base02} !important;
2022-05-08 01:05:11 +00:00
}
#urlbar ::-moz-selection {
color: ${config.theme.colors.base07} !important;
background: ${config.theme.colors.base02} !important;
2022-05-07 18:24:00 +00:00
}
2022-05-08 01:05:11 +00:00
#urlbar-input-container {
border: 1px solid ${config.theme.colors.base01} !important;
2022-05-08 01:05:11 +00:00
}
#urlbar-background {
background: ${config.theme.colors.base01} !important;
2022-05-08 01:05:11 +00:00
}
2022-05-07 18:24:00 +00:00
/* Text in URL bar */
2022-05-08 01:05:11 +00:00
#urlbar-input, #urlbar-scheme, .searchbar-textbox {
color: ${config.theme.colors.base07} !important;
2022-05-07 18:24:00 +00:00
}
'';
2022-05-08 01:05:11 +00:00
userContent = ''
@-moz-document url-prefix(about:blank) {
* {
background-color:${config.theme.colors.base01} !important;
2022-05-08 01:05:11 +00:00
}
}
'';
2022-05-07 18:24:00 +00:00
extraConfig = "";
};
};
2022-04-29 03:04:48 +00:00
};
2022-04-29 01:56:21 +00:00
};
2022-04-28 22:55:15 +00:00
}