holy moly we're almost there

This commit is contained in:
Anish Lakhwara
2022-09-19 08:13:50 +10:00
commit 3693732aac
203 changed files with 17247 additions and 0 deletions
+120
View File
@@ -0,0 +1,120 @@
{ pkgs, ... }:
{
programs.browserpass.enable = true;
programs.browserpass.browsers = [ "firefox" ];
#env.XDG_DEXSTOP_DIR = "$HOME/";
programs.firefox.profiles.anish.userChrome = (builtins.readFile ./userChrome.css);
programs.firefox.profiles.anish.settings = {
"devtools.theme" = "dark";
# Enable userContent.css and userChrome.css for our theme modules
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
# Stop creating ~/Downloads!
"browser.download.dir" = "/home/anish/downloads"; # TODO Don't hardcode this!
# Don't use the built-in password manager; a nixos user is more likely
# using an external one (you are using one, right?).
#"signon.rememberSignons" = false;
# Do not check if Firefox is the default browser
"browser.shell.checkDefaultBrowser" = false;
# Disable the "new tab page" feature and show a blank tab instead
# https://wiki.mozilla.org/Privacy/Reviews/New_Tab
# https://support.mozilla.org/en-US/kb/new-tab-page-show-hide-and-customize-top-sites#w_how-do-i-turn-the-new-tab-page-off
"browser.newtabpage.enabled" = false;
"browser.newtab.url" = "about:blank";
# Disable Activity Stream
# https://wiki.mozilla.org/Firefox/Activity_Stream
"browser.newtabpage.activity-stream.enabled" = false;
# Disable new tab tile ads & preload
# http://www.thewindowsclub.com/disable-remove-ad-tiles-from-firefox
# http://forums.mozillazine.org/viewtopic.php?p=13876331#p13876331
# https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-source
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-ping
"browser.newtabpage.enhanced" = false;
"browser.newtab.preload" = false;
"browser.newtabpage.directory.ping" = "";
"browser.newtabpage.directory.source" = "data:text/plain,{}";
# Disable some not so useful functionality.
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"extensions.htmlaboutaddons.discover.enabled" = false;
"extensions.pocket.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"extensions.shield-recipe-client.enabled" = false;
"app.shield.optoutstudies.enabled" = false;
# Disable battery API
# https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
# https://bugzilla.mozilla.org/show_bug.cgi?id=1313580
"dom.battery.enabled" = false;
# Disable "beacon" asynchronous HTTP transfers (used for analytics)
# https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon
"beacon.enabled" = false;
# Disable pinging URIs specified in HTML <a> ping= attributes
# http://kb.mozillazine.org/Browser.send_pings
"browser.send_pings" = false;
# Disable gamepad API to prevent USB device enumeration
# https://www.w3.org/TR/gamepad/
# https://trac.torproject.org/projects/tor/ticket/13023
"dom.gamepad.enabled" = false;
# Don't try to guess domain names when entering an invalid domain name in URL bar
# http://www-archive.mozilla.org/docs/end-user/domain-guessing.html
"browser.fixup.alternate.enabled" = false;
# Disable telemetry
# https://wiki.mozilla.org/Platform/Features/Telemetry
# https://wiki.mozilla.org/Privacy/Reviews/Telemetry
# https://wiki.mozilla.org/Telemetry
# https://www.mozilla.org/en-US/legal/privacy/firefox.html#telemetry
# https://support.mozilla.org/t5/Firefox-crashes/Mozilla-Crash-Reporter/ta-p/1715
# https://wiki.mozilla.org/Security/Reviews/Firefox6/ReviewNotes/telemetry
# https://gecko.readthedocs.io/en/latest/browser/experiments/experiments/manifest.html
# https://wiki.mozilla.org/Telemetry/Experiments
# https://support.mozilla.org/en-US/questions/1197144
# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/internals/preferences.html#id1
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.archive.enabled" = false;
"experiments.supported" = false;
"experiments.enabled" = false;
"experiments.manifest.uri" = "";
# Disable health reports (basically more telemetry)
# https://support.mozilla.org/en-US/kb/firefox-health-report-understand-your-browser-perf
# https://gecko.readthedocs.org/en/latest/toolkit/components/telemetry/telemetry/preferences.html
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.healthreport.service.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
# Pipewire optimizations
# https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Performance-tuning#firefox
"reader.parse-on-load.enabled" = false;
"media.webspeech.synth.enabled" = false;
};
# Override?
home.packages = with pkgs; [
firefox-bin
# TODO something changed in 22.05, needs to be a list?
# (makeDesktopItem {
# name = "firefox-private";
# desktopName = "Firefox (Private)";
# genericName = "Open a private Firefox window";
# icon = "firefox";
# exec = "${firefox-bin}/bin/firefox --private-window";
# categories = "Network";
# })
];
home.file = let cfgPath = ".mozilla/firefox"; in
{
"${cfgPath}/profiles.ini".text = ''
[Profile0]
Name=default
IsRelative=1
Path=anish.default
Default=1
[General]
StartWithLastProfile=1
Version=2
'';
"${cfgPath}/anish.default/chrome/userChrome.css".source = ./userChrome.css;
};
}
+276
View File
@@ -0,0 +1,276 @@
/* @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); */
@-moz-document url(chrome://browser/content/browser.xul),
url(chrome://browser/content/browser.xhtml)
{
/*** TREE STYLE TABS ***/
/* Hide main tabs toolbar */
#TabsToolbar {
visibility: collapse !important;
}
/* Sidebar min and max width removal */
:root {
/* expanded width of the sidebar.
used for userChrome-static, and hover */
--sidebar-width: 250px;
/* initial width of the sidebar.
advised not to change since tst css relies on this value*/
--sidebar-collapsed-width: 60px;
}
#sidebar-box {
z-index: 1000 !important;
position: relative !important;
min-width: var(--sidebar-collapsed-width) !important;
max-width: var(--sidebar-collapsed-width) !important;
}
#sidebar-header,
#sidebar-splitter {
display: none !important;
}
/* inner width = expanded width & move inner to only show initial-width long section */
#sidebar-box #sidebar {
position: absolute !important;
min-width: var(--sidebar-width) !important;
max-width: var(--sidebar-width) !important;
width: var(--sidebar-width) !important;
transform: translateX(calc(var(--sidebar-collapsed-width) - var(--sidebar-width)));
transition: all var(--transition-time) var(--ease-out);
}
/* move inner to show entire sidebar */
#sidebar-box #sidebar:hover {
transform: translateX(0) !important;
box-shadow: 2px 0 33px -3px var(--sidebar-shadow-color);
}
#sidebar-box[sidebarcommand="viewBookmarksSidebar"] #sidebar {
transform: translateX(0) !important;
box-shadow: 2px 0 33px -3px var(--sidebar-shadow-color);
}
/* hide sidebar header for tree style tabs sidebar */
#sidebar-box #sidebar-header {
display: none;
}
#sidebar {
border-right: solid var(--dividers) var(--sidebar-shadow-color) !important;
}
toolbar {
border: none !important;
}
#tabbrowser-arrowscrollbox {
margin: 7px 14px 7px 14px;
}
.tabbrowser-tab::after {
border: none !important;
}
.tab-background .tab-line,
.tab-background .tab-bottom-line {
display: none;
}
tab[selected="true"] > .tab-stack > .tab-background {
background: var(--tl-tab-background-gradient, var(--arrowpanel-dimmed-further)) !important;
}
tab:not([selected="true"]) > .tab-stack:hover > .tab-background {
background: var(--arrowpanel-background) !important;
}
.tab-stack {
border-radius: 7px;
margin-right: 5px;
overflow: hidden;
}
.tab-stack .tab-icon-image,
.tab-stack .tab-label-container {
transform: translateX(0px);
transition: all var(--tl-animation-duration) var(--ease-out) !important;
}
.tab-stack .tab-icon-image {
transition-duration: calc(var(--tl-animation-duration) * 2) !important;
}
tab:not([pinned="true"]) .tab-stack:hover .tab-icon-image {
transform: translateX(-25px) !important;
}
.tab-stack:hover .tab-label-container {
transform: translateX(-23px) !important;
}
/* containers */
tab:not([selected="true"]).identity-color-blue > .tab-stack,
tab:not([selected="true"]).identity-color-orange > .tab-stack,
tab:not([selected="true"]).identity-color-green > .tab-stack,
tab:not([selected="true"]).identity-color-pink > .tab-stack{
border-radius: 0 0 7px 7px !important;
}
tab[selected="true"].identity-color-blue > .tab-stack .tab-label-container,
tab[selected="true"].identity-color-orange > .tab-stack .tab-label-container,
tab[selected="true"].identity-color-green > .tab-stack .tab-label-container,
tab[selected="true"].identity-color-pink > .tab-stack .tab-label-container{
color: #000 !important;
}
/* blue */
tab[selected="true"].identity-color-blue > .tab-stack > .tab-background{
background: linear-gradient(to right, #3182CE , #0BC5EA) !important;
}
tab:not([selected="true"]).identity-color-blue > .tab-stack > .tab-background{
border-top: solid 4px #63B3ED !important;
}
/* orange */
tab[selected="true"].identity-color-orange > .tab-stack > .tab-background{
background: linear-gradient(to right, #DD6B20 , #F56565) !important;
}
tab:not([selected="true"]).identity-color-orange > .tab-stack > .tab-background{
border-top: solid 4px #F6AD55 !important;
}
/* green */
tab[selected="true"].identity-color-green > .tab-stack > .tab-background{
background: linear-gradient(to right, #38A169 , #38B2AC) !important;
}
tab:not([selected="true"]).identity-color-green > .tab-stack > .tab-background{
border-top: solid 4px #68D391 !important;
}
/* pink */
tab[selected="true"].identity-color-pink > .tab-stack > .tab-background{
background: linear-gradient(to right, #D53F8C , #9F7AEA) !important;
}
tab:not([selected="true"]).identity-color-pink > .tab-stack > .tab-background{
border-top: solid 4px #F687B3 !important;
}
.tab-stack .tab-close-button {
border-radius: 50%;
margin-left: -20px !important;
background: var(--lwt-text-color);
fill: var(--lwt-accent-color) !important;
transform: translateX(30px) !important;
transition: all var(--tl-animation-duration) var(--ease-out) !important;
}
.tab-stack:hover .tab-close-button {
transform: translateX(0px) !important;
}
#tabbrowser-tabs[closebuttons="activetab"] > #tabbrowser-arrowscrollbox >
.tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button:not([selected="true"]){
display: block !important;
}
/* hide tabs */
.tabbrowser-tab {
display: none;
}
#tabs-newtab-button {
display: none;
}
.titlebar-spacer {
display: none !important;
}
/*** TAB BAR ***/
/* Ensure tab doesn't show through auto-completion popup */
.tabbrowser-tab { z-index: 0 !important; }
/* Ensure tab "spacers" don't show through the completion window */
#tabbrowser-arrowscrollbox > spacer { z-index: -1 !important; }
#mainPopupSet { z-index: 9999 !important; }
/* Hide tabbar if only one tab */
@import url(./css/tabs-hide-if-only-one.css);
/* Remove the colored overline on the focused tab */
.tabbrowser-tab .tab-line { background: none !important; }
/* Replace favicon on tabs with close button on mouse hover */
.tabbrowser-tab:not(:hover) .tab-close-button,
.tabbrowser-tab:not([pinned]):hover .tab-icon-image { display: none !important; }
.tabbrowser-tab:not([pinned]):hover .tab-close-button { display:block !important; }
.tabbrowser-tab:hover .tab-throbber,
.tabbrowser-tab:hover .tab-icon-image,
.tabbrowser-tab:hover .tab-sharing-icon-overlay,
.tabbrowser-tab:hover .tab-icon-overlay,
.tabbrowser-tab:hover .tab-label-container,
.tabbrowser-tab:hover .tab-icon-sound {
-moz-box-ordinal-group: 2 !important;
}
.tabbrowser-tab .tab-close-button {
margin-left: -2px !important;
margin-right: 4px !important;
}
.tab-close-button:hover {
fill-opacity: 0 !important;
}
.tabbrowser-tab::after,
.tabbrowser-tab::before {
border-left: none !important;
border-right: none !important;
}
.scrollbutton-up[orient="horizontal"]~spacer { border-width: 0px; opacity: 0 }
/*** NAV BAR ***/
/* Hide urlbar */
#nav-bar {
position: relative !important;
z-index: 2 !important;
height: 2px !important;
min-height: 2px !important;
margin-bottom: -2px !important;
opacity: 0 !important;
border: none !important;
}
/* But unfocus it when we invoke it with ctrl+L */
#nav-bar:focus-within {
height: auto !important;
margin-bottom: 0px !important;
opacity: 1 !important;
overflow: show !important;
}
#urlbar-container {
min-height: 0 !important;
}
#urlbar {
top: 0 !important;
}
#urlbar-input-container {
height: 28px !important;
}
/*** Load local overrides ***/
@import url(./userChrome.local.css);
}
File diff suppressed because one or more lines are too long