141 lines
4.1 KiB
Nix
141 lines
4.1 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
stdenv,
|
|
specialArgs,
|
|
...
|
|
}: let
|
|
extensions = with specialArgs.ff-addons; [
|
|
bitwarden
|
|
darkreader
|
|
i-dont-care-about-cookies
|
|
privacy-badger
|
|
ublock-origin
|
|
tree-style-tab
|
|
tridactyl
|
|
];
|
|
|
|
customChrome = ''
|
|
@-moz-document url(chrome://browser/content/browser.xhtml) {
|
|
/* tabs on bottom of window */
|
|
/* requires that you set
|
|
* toolkit.legacyUserProfileCustomizations.stylesheets = true
|
|
* in about:config
|
|
*/
|
|
#main-window body { flex-direction: column-reverse !important; }
|
|
#navigator-toolbox { flex-direction: column-reverse !important; }
|
|
#urlbar {
|
|
top: unset !important;
|
|
bottom: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
|
|
box-shadow: none !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
}
|
|
#urlbar-input-container {
|
|
order: 2;
|
|
}
|
|
#urlbar > .urlbarView {
|
|
order: 1;
|
|
border-bottom: 1px solid #666;
|
|
}
|
|
#urlbar-results {
|
|
display: flex;
|
|
flex-direction: column-reverse;
|
|
}
|
|
.search-one-offs { display: none !important; }
|
|
.tab-background { border-top: none !important; }
|
|
#navigator-toolbox::after { border: none; }
|
|
#TabsToolbar .tabbrowser-arrowscrollbox,
|
|
#tabbrowser-tabs, .tab-stack { min-height: 28px !important; }
|
|
.tabbrowser-tab { font-size: 80%; }
|
|
.tab-content { padding: 0 5px; }
|
|
.tab-close-button .toolbarbutton-icon { width: 12px !important; height: 12px !important; }
|
|
toolbox[inFullscreen=true] { display: none; }
|
|
}
|
|
'';
|
|
|
|
userChrome = customChrome;
|
|
|
|
# ~/.mozilla/firefox/PROFILE_NAME/prefs.js | user.js
|
|
settings = {
|
|
"app.normandy.first_run" = false;
|
|
"app.shield.optoutstudies.enabled" = false;
|
|
|
|
# disable updates (pretty pointless with nix)
|
|
"app.update.channel" = "default";
|
|
|
|
"browser.contentblocking.category" = "standard"; # "strict"
|
|
"browser.ctrlTab.recentlyUsedOrder" = false;
|
|
|
|
"browser.download.viewableInternally.typeWasRegistered.svg" = true;
|
|
"browser.download.viewableInternally.typeWasRegistered.webp" = true;
|
|
"browser.download.viewableInternally.typeWasRegistered.xml" = true;
|
|
|
|
"browser.search.region" = "DE";
|
|
|
|
"browser.shell.checkDefaultBrowser" = false;
|
|
"browser.tabs.loadInBackground" = true;
|
|
"browser.urlbar.placeholderName" = "EnteEnteLauf";
|
|
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
|
|
|
# disable all the annoying quick actions
|
|
"browser.urlbar.quickactions.enabled" = false;
|
|
"browser.urlbar.quickactions.showPrefs" = false;
|
|
"browser.urlbar.shortcuts.quickactions" = false;
|
|
"browser.urlbar.suggest.quickactions" = false;
|
|
|
|
"distribution.searchplugins.defaultLocale" = "en-US";
|
|
|
|
"doh-rollout.balrog-migration-done" = true;
|
|
"doh-rollout.doneFirstRun" = true;
|
|
|
|
"general.useragent.locale" = "en-US";
|
|
|
|
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
|
|
|
"extensions.extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
|
"extensions.update.enabled" = false;
|
|
"extensions.webcompat.enable_picture_in_picture_overrides" = true;
|
|
"extensions.webcompat.enable_shims" = true;
|
|
"extensions.webcompat.perform_injections" = true;
|
|
"extensions.webcompat.perform_ua_overrides" = true;
|
|
|
|
"privacy.donottrackheader.enabled" = true;
|
|
|
|
# Yubikey
|
|
"security.webauth.u2f" = true;
|
|
"security.webauth.webauthn" = true;
|
|
"security.webauth.webauthn_enable_softtoken" = false;
|
|
"security.webauth.webauthn_enable_usbtoken" = true;
|
|
|
|
"network.dns.ipv4OnlyDomains" = "google.com";
|
|
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
"layout.word_select.stop_at_punctuation" = false;
|
|
};
|
|
in {
|
|
programs.firefox = {
|
|
enable = true;
|
|
|
|
package = pkgs.firefox-bin;
|
|
|
|
profiles = {
|
|
default = {
|
|
isDefault = true;
|
|
id = 0;
|
|
inherit extensions settings userChrome;
|
|
};
|
|
};
|
|
|
|
webapps = {
|
|
rocket-chat = {
|
|
url = "https://chat.hetzner.company";
|
|
id = 1;
|
|
|
|
genericName = "Internet Messenger";
|
|
categories = ["Network" "InstantMessaging"];
|
|
};
|
|
};
|
|
};
|
|
}
|