ft (wip): firefox+librewolf home manager

This commit is contained in:
djaidjai committed 2026-10-26 16:01:38 +01:00
1 parent bf31806ab7
commit 869aa84f53
14 files changed
+1639 -47

No files matched your search

+5
View File
@@ -19,6 +19,11 @@
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
+1 -10
View File
@@ -1,17 +1,8 @@
{ pkgs, inputs, ... }:
{
# TODO: switch to home manager
# then configure plugins n shi here too
# make a shared section (about:config sections, plugins, profiles) and then have two separate configs in firefox.nix and librewolf.nix
# https://wiki.nixos.org/wiki/Librewolf
# https://wiki.nixos.org/wiki/Firefox/en
imports = [
./firefox.nix
];
users.users.djai.packages = with pkgs; [
librewolf
firefox
./librewolf.nix
];
}
+55
View File
@@ -0,0 +1,55 @@
{ pkgs, ... }:
{
extensions = {
packages = [ pkgs.nur.repos.rycee.firefox-addons.darkreader ];
settings = {
"darkreader".settings = { # TODO: Check id
enabled = true;
fetchNews = true;
theme = {
mode = 1;
brightness = 100;
contrast = 100;
grayscale = 0;
sepia = 0;
useFont = false;
fontFamily = "Open Sans";
textStroke = 0;
engine = "dynamicTheme";
stylesheet = "";
darkSchemeBackgroundColor = "#24273a";
darkSchemeTextColor = "#cad3f5";
lightSchemeBackgroundColor = "#eff1f5";
lightSchemeTextColor = "#4c4f69";
scrollbarColor = "auto";
selectionColor = "#5b6078";
styleSystemControls = false;
lightColorScheme = "Default";
darkColorScheme = "Default";
immediateModify = false;
};
enabledByDefault = true;
changeBrowserTheme = false;
syncSettings = false;
syncSitesFixes = false;
automation = {
enabled = false;
mode = "system";
behavior = "OnOff";
enable = false;
};
time = {
activation = "18:00";
deactivation = "9:00";
};
previewNewDesign = true;
previewNewestDesign = false;
enableForPDF = true;
enableForProtectedPages = false;
enableContextMenus = false;
detectDarkTheme = false;
};
};
};
}
+21
View File
@@ -0,0 +1,21 @@
{ ... }:
{
imports = [
./darkeader.nix
./sidebery.nix
./ublock.nix
./vimium.nix
# ./sponsorblock.nix
# ./xkit.nix
];
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons [
# no settings
tablissng
firefox-color
# no exportable settings
bitwarden
];
}
+46
View File
@@ -0,0 +1,46 @@
#root.root {--tabs-activated-bg: var(--ctp-surface2);}
#root.root {--tabs-normal-fg: var(--ctp-text);}
#root.root {--tabs-activated-fg: var(--ctp-subtext1);}
#root.root {--tabs-notification-badge-dot-bg: var(--ctp-maroon);}
#root.root {--tabs-notification-badge-count-bg: var(--ctp-red);}
#root.root {--badge-bg: var(--ctp-blue);}
#root.root {--badge-fg: var(--ctp-text);}
#root.root {--badge-urgent-bg: var(--ctp-maroon);}
#root.root {--border: var(--ctp-maroon);}
#root.root {--status-ok: var(--ctp-green);}
#root.root {--status-err: var(--ctp-maroon);}
#root.root {--status-active: var(--ctp-teal);}
#root.root {--status-notice: var(--ctp-sky);}
#root.root {--bookmarks-node-activated-fg: var(--ctp-surface2);}
#root.root {--bookmarks-expanded-folder-bg: var(--ctp-mantle);}
#root.root {--frame-fg: var(--ctp-text);}
#root.root {--frame-bg: var(--ctp-mantle);}
:root {
--ctp-rosewater: #f4dbd6;
--ctp-flamingo: #f0c6c6;
--ctp-pink: #f5bde6;
--ctp-mauve: #c6a0f6;
--ctp-red: #ed8796;
--ctp-maroon: #ee99a0;
--ctp-peach: #f5a97f;
--ctp-yellow: #eed49f;
--ctp-green: #a6da95;
--ctp-teal: #8bd5ca;
--ctp-sky: #91d7e3;
--ctp-sapphire: #7dc4e4;
--ctp-blue: #8aadf4;
--ctp-lavender: #b7bdf8;
--ctp-text: #c5cff5;
--ctp-subtext1: #b3bce0;
--ctp-subtext0: #a1aacb;
--ctp-overlay2: #8f97b7;
--ctp-overlay1: #7d84a2;
--ctp-overlay0: #6c728d;
--ctp-surface2: #5a5f78;
--ctp-surface1: #484c64;
--ctp-surface0: #363a4f;
--ctp-base: #24273a;
--ctp-mantle: #1e2030;
--ctp-crust: #181926;
}
+304
View File
@@ -0,0 +1,304 @@
{ pkgs, ... }:
{
extensions = {
packages = [ pkgs.nur.repos.rycee.firefox-addons.sidebery ];
settings = {
"sidebery".settings = { # TODO: Check id
settings = {
nativeScrollbars = true;
nativeScrollbarsThin = true;
nativeScrollbarsLeft = false;
selWinScreenshots = false;
updateSidebarTitle = true;
markWindow = false;
markWindowPreface = "[Sidebery] ";
copyTemplates = "HTML:%B<a href=\"%U\">%CT</a>\nMarkdown:%B[%CT](%U)";
updTooltipDelay = 100;
selLen = true;
ctxMenuNative = false;
ctxMenuRenderInact = true;
ctxMenuRenderIcons = true;
omniReopenInCtr = true;
omniSwitchToPanel = true;
omniMoveToPanel = true;
omniMoveToGroup = true;
navBarLayout = "horizontal";
navBarInline = true;
navBarSide = "left";
navBtnCount = true;
hideEmptyPanels = true;
hideDiscardedTabPanels = false;
navActTabsPanelLeftClickAction = "none";
navActTabsPanelLeftClickTabPos = "general";
navActBookmarksPanelLeftClickAction = "none";
navTabsPanelMidClickAction = "discard";
navBookmarksPanelMidClickAction = "none";
navSwitchPanelsWheel = true;
subPanelRecentlyClosedBar = true;
subPanelBookmarks = true;
subPanelHistory = true;
subPanelSync = false;
groupLayout = "grid";
containersSortByName = false;
skipEmptyPanels = false;
dndTabAct = true;
dndTabActDelay = 750;
dndTabActMod = "none";
dndExp = "pointer";
dndExpDelay = 750;
dndExpMod = "none";
dndOutside = "win";
dndOutsideThresholdTimeout = 350;
dndActTabFromLink = true;
dndActSearchTab = true;
dndMoveTabs = false;
dndMoveBookmarks = false;
dndTabToPanelPos = "end";
searchBarMode = "dynamic";
searchPanelSwitch = "same_type";
searchTabSwitch = false;
searchMenuTrig = false;
searchInputTimeout = 300;
warnOnMultiTabClose = "collapsed";
activateLastTabOnPanelSwitching = true;
activateLastTabOnPanelSwitchingLoadedOnly = true;
switchPanelAfterSwitchingTab = "always";
scrollPanelAfterSwitchingTab = "always";
tabRmBtn = "hover";
activateAfterClosing = "next";
activateAfterClosingStayInPanel = false;
activateAfterClosingGlobal = false;
activateAfterClosingNoFolded = true;
activateAfterClosingNoDiscarded = true;
askNewBookmarkPlace = true;
tabsRmUndoNote = true;
tabsUnreadMark = false;
tabsBadge = true;
tabsBadgeRules = "minIdleTime:5000; urgent";
tabsReloadLimit = 5;
tabsReloadLimitNotif = true;
showNewTabBtns = true;
newTabBarPosition = "after_tabs";
tabsPanelSwitchActMove = false;
tabsPanelSwitchActMoveAuto = true;
tabsUrlInTooltip = "full";
tabsContainerInTooltip = true;
newTabCtxReopen = false;
tabWarmupOnHover = true;
tabSwitchDelay = 0;
forceDiscard = true;
tabUpdDelay = 150;
forceUpdTooltip = false;
moveNewTabPin = "start";
moveNewTabParent = "first_child";
moveNewTabParentIndent = false;
moveNewTabParentActPanel = false;
moveNewTabButton = "end";
moveNewTabButtonActivePin = "start";
moveNewTab = "end";
moveNewTabActivePin = "start";
autoScrollToNewTab = true;
pinnedTabsPosition = "panel";
pinnedTabsList = false;
pinnedAutoGroup = false;
pinnedNoUnload = false;
pinnedNoUnloadExplicit = true;
pinnedForcedDiscard = false;
tabsTree = true;
tabsTreeLimit = "none";
autoFoldTabs = false;
autoFoldTabsExcept = "none";
autoExpandTabs = false;
autoExpandTabsOnNew = false;
rmChildTabs = "folded";
tabsLvlDots = true;
discardFolded = false;
discardFoldedDelay = 0;
discardFoldedDelayUnit = "sec";
tabsTreeBookmarks = true;
treeRmOutdent = "branch";
autoGroupOnClose = false;
autoGroupOnClose0Lvl = false;
autoGroupOnCloseMouseOnly = false;
ignoreFoldedParent = false;
showNewGroupConf = true;
sortGroupsFirst = true;
colorizeTabs = false;
colorizeTabsSrc = "domain";
colorizeTabsBranches = true;
colorizeTabsBranchesSrc = "domain";
inheritCustomColor = true;
previewTabs = false;
previewTabsMode = "p";
previewTabsPageModeFallback = "n";
previewTabsInlineHeight = 70;
previewTabsPopupWidth = 280;
previewTabsTitle = 2;
previewTabsUrl = 1;
previewTabsSide = "right";
previewTabsDelay = 500;
previewTabsFollowMouse = true;
previewTabsInPageOffsetY = 0;
previewTabsInPageOffsetX = 0;
previewTabsCropRight = 0;
hideInact = false;
hideFoldedTabs = false;
hideFoldedParent = "none";
hideUnloadedTabs = false;
nativeHighlight = true;
warnOnMultiBookmarkDelete = "collapsed";
autoCloseBookmarks = false;
autoRemoveOther = false;
highlightOpenBookmarks = false;
activateOpenBookmarkTab = false;
showBookmarkLen = true;
bookmarksRmUndoNote = true;
loadBookmarksOnDemand = true;
pinOpenedBookmarksFolder = true;
oldBookmarksAfterSave = "ask";
historyTitleUpdInterval = 1100;
fontSize = "m";
animations = true;
animationSpeed = "norm";
theme = "proton";
density = "default";
colorScheme = "ff";
snapNotify = true;
snapExcludePrivate = false;
snapInterval = 0;
snapIntervalUnit = "min";
snapLimit = 0;
snapLimitUnit = "snap";
snapAutoExport = false;
snapAutoExportType = "json";
snapAutoExportPath = "Sidebery/snapshot-%Y.%M.%D-%h.%m.%s";
snapMdFullTree = false;
hScrollAction = "none";
onePanelSwitchPerScroll = false;
wheelAccumulationX = true;
wheelAccumulationY = true;
navSwitchPanelsDelay = 128;
scrollThroughTabs = "none";
scrollThroughTabsGlobPinIsolate = true;
scrollThroughVisibleTabs = true;
scrollThroughTabsSkipDiscarded = true;
scrollThroughTabsExceptOverflow = true;
scrollThroughTabsCyclic = false;
scrollThroughTabsScrollArea = 0;
scrollThroughTabsPreselAct = false;
scrollThroughTabsPreselDelay = 0;
autoMenuMultiSel = true;
multipleMiddleClose = false;
longClickDelay = 500;
wheelThreshold = false;
wheelThresholdX = 10;
wheelThresholdY = 60;
tabDoubleClick = "none";
tabsSecondClickActPrev = false;
tabsSecondClickActPrevPanelOnly = false;
tabsSecondClickActPrevNoUnload = false;
shiftSelAct = true;
ctrlSelAct = true;
activateOnMouseUp = false;
tabCloseOnMouseUp = true;
tabLongLeftClick = "none";
tabLongRightClick = "none";
tabMiddleClick = "close";
tabPinnedMiddleClick = "discard";
tabMiddleClickCtrl = "discard";
tabMiddleClickShift = "duplicate";
tabCloseMiddleClick = "close";
tabsPanelLeftClickAction = "none";
tabsPanelLeftClickTabPos = "general";
tabsPanelDoubleClickAction = "tab";
tabsPanelDoubleClickTabPos = "general";
tabsPanelRightClickAction = "menu";
tabsPanelMiddleClickAction = "tab";
tabsPanelMiddleClickTabPos = "general";
newTabMiddleClickAction = "new_child";
bookmarksLeftClickAction = "open_in_act";
bookmarksLeftClickActivate = false;
bookmarksLeftClickPos = "default";
bookmarksMidClickAction = "open_in_new";
bookmarksMidClickActivate = false;
bookmarksMidClickRemove = false;
bookmarksMidClickPos = "default";
historyLeftClickAction = "open_in_act";
historyLeftClickActivate = false;
historyLeftClickPos = "default";
historyMidClickAction = "open_in_new";
historyMidClickActivate = false;
historyMidClickPos = "default";
syncUseFirefox = false;
syncUseGoogleDrive = false;
syncUseGoogleDriveApi = false;
syncSaveSettings = false;
syncSaveCtxMenu = false;
syncSaveStyles = false;
syncSaveKeybindings = false;
selectActiveTabFirst = true;
selectCyclic = false;
loopPanelsIgnoreHidden = false;
kbNewTabInPanelPos = "general"
};
sidebar = {
panels = {
XAC10qlx5Gg2 = {
type = 2;
id = "XAC10qlx5Gg2";
name = "Default";
color = "toolbar";
iconSVG = "icon_tabs";
lockedPanel = false;
skipOnSwitching = false;
noEmpty = false;
newTabCtx = "none";
dropTabCtx = "none";
moveExcludedTo = -1;
bookmarksFolderId = "PHhiPLb-YBcr";
srcPanelConfig = {
id = "WmRe539DYInZ";
autoConvert = true;
tempMode = false;
viewMode = "tree"
}
}
};
nav = [
"XAC10qlx5Gg2";
"add_tp";
"sp-0";
"settings";
"remute_audio_tabs";
"create_snapshot"
];
};
sidebarCSS = builtins.readFile ./sidebery.css;
keybindings = {
_execute_sidebar_action = "Ctrl+E";
activate = "Alt+Space";
reset_selection = "Alt+R";
next_panel = "Alt+K";
prev_panel = "Alt+J";
up = "Alt+Up";
down = "Alt+Down";
up_shift = "Alt+Shift+Up";
down_shift = "Alt+Shift+Down";
sel_child_tabs = "Alt+C";
unload_tabs = "Alt+Q";
unload_other_tabs_in_panel = "Ctrl+Shift+Q";
unload_all_tabs_in_inact_panels = "Alt+Shift+Q";
switch_to_panel_0 = "Alt+1";
switch_to_panel_1 = "Alt+2";
switch_to_panel_2 = "Alt+3";
switch_to_panel_3 = "Alt+4";
switch_to_panel_4 = "Alt+5";
switch_to_panel_5 = "Alt+6";
switch_to_panel_6 = "Alt+7"
};
};
};
};
}
+122
View File
@@ -0,0 +1,122 @@
{ pkgs, ... }:
{
extensions = {
packages = [ pkgs.nur.repos.rycee.firefox-addons.sponsorblock ];
settings = {
"sponsorblock".settings = { # TODO: Check id
changeChapterColor = true;
showZoomToFillError2 = false;
autoSkipOnMusicVideosUpdate = true;
categoryPillUpdate = true;
chapterCategoryAdded = true;
barTypes = {
preview-chooseACategory = { color = "#ffffff"; opacity = "0.7" };
sponsor = { color = "#62a0ea"; opacity = "0.7"; };
preview-sponsor = { color = "#007800"; opacity = "0.7"; };
selfpromo = { color = "#f8e45c"; opacity = "0.7"; };
preview-selfpromo = { color = "#bfbf35"; opacity = "0.7"; };
exclusive_access = { color = "#a51d2d"; opacity = "0.7"; };
interaction = { color = "#57e389"; opacity = "0.7"; };
preview-interaction = { color = "#6c0087"; opacity = "0.7"; };
intro = { color = "#ffa348"; opacity = "0.7"; };
preview-intro = { color = "#008080"; opacity = "0.7"; };
outro = { color = "#ffa348"; opacity = "0.7"; };
preview-outro = { color = "#000070"; opacity = "0.7"; };
preview = { color = "#ffa348"; opacity = "0.7"; };
preview-preview = { color = "#005799"; opacity = "0.7"; };
hook = { color = "#395699"; opacity = "0.8"; };
preview-hook = { color = "#273963"; opacity = "0.7"; };
music_offtopic = { color = "#ff9900"; opacity = "0.7"; };
preview-music_offtopic = { color = "#a6634a"; opacity = "0.7"; };
poi_highlight = { color = "#ff1684"; opacity = "0.7"; };
preview-poi_highlight = { color = "#9b044c"; opacity = "0.7"; };
filler = { color = "#7300FF"; opacity = "0.9"; };
preview-filler = { color = "#2E0066"; opacity = "0.7"; };
chapter = { color = "#ffd983"; opacity = "0.0"; };
categorySelections = [
{ name = "sponsor"; option = 2; }
{ name = "chapter"; option = 0; }
{ name = "selfpromo"; option = 2; }
{ name = "preview"; option = 0; }
{ name = "outro"; option = 0; }
{ name = "intro"; option = 0; }
{ name = "interaction"; option = 2; }
];
permissions = {
sponsor = true;
selfpromo = true;
exclusive_access = true;
interaction = true;
intro = true;
outro = true;
preview = true;
hook = true;
music_offtopic = true;
filler = true;
poi_highlight = true;
chapter = false
};
individiousInstances = ["yewtu.be" "invidious.djairo.dev" "invidious.tiekotter.dev" ];
showDeArrowPromotion = false;
segmentListDefaultTab = 0;
renderSegmentsAsChapters = false;
forceChannelCheck = false;
sponsorTimesContributed = 0;
submissionCountSinceCategories = 0;
showTimeWithSkips = true;
disableSkipping = false;
muteSegments = true;
fullVideoSegments = true;
fullVideoLabelsOnThumbnails = true;
manualSkipOnFullVideo = false;
trackViewCount = true;
trackViewCountInPrivate = true;
trackDownvotes = true;
trackDownvotesInPrivate = false;
dontShowNotice = false;
showUpcomingNotice = false;
noticeVisibilityMode = 3;
hideVideoPlayerControls = false;
hideInfoButtonPlayerControls = false;
hideDeleteButtonPlayerControls = false;
hideUploadButtonPlayerControls = false;
hideSkipButtonPlayerControls = false;
hideDiscordLaunches = 0;
hideDiscordLink = false;
supportInvidious = true;
serverAddress = "https =//sponsor.ajay.app";
minDuration = 0;
skipNoticeDuration = 4;
audioNotificationOnSkip = false;
checkForUnlistedVideos = false;
testingServer = false;
ytInfoPermissionGranted = false;
allowExpirements = true;
showDonationLink = true;
showPopupDonationCount = 0;
showUpsells = true;
showNewFeaturePopups = true;
donateClicked = 0;
autoHideInfoButton = true;
showChapterInfoMessage = true;
darkMode = true;
showCategoryGuidelines = true;
showSegmentNameInChapterBar = true;
showAutogeneratedChapters = true;
showCreatorChapters = true;
useVirtualTime = true;
showSegmentFailedToFetchWarning = true;
allowScrollingToEdit = true;
showDeArrowInSettings = false;
colorPalette = {
red = "#780303";
white = "#ffffff";
locked = "#ffc83d";
};
};
};
};
}
+93
View File
@@ -0,0 +1,93 @@
{ pkgs, ... }:
{
extensions = {
packages = [ pkgs.nur.repos.rycee.firefox-addons.ublock-origin ];
settings = {
"uBlock0@raymondhill.net".settings = {
userSettings = {
externalLists = "https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt";
importedLists = [
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
];
popupPanelSections: 31;
};
selectedFilterLists = [
"user-filters"
"ublock-filters"
"ublock-badware"
"ublock-privacy"
"ublock-quick-fixes"
"ublock-unbreak"
"easylist"
"easyprivacy"
"LegitimateURLShortener"
"adguard-spyware-url"
"urlhaus-1"
"curben-phishing"
"plowe-0"
"fanboy-cookiemonster"
"ublock-cookies-easylist"
"fanboy-social"
"fanboy-thirdparty_social"
"easylist-chat"
"easylist-newsletters"
"easylist-notifications"
"ublock-annoyances"
"https://raw.githubusercontent.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist/main/list.txt"
];
whitelist = [
"chrome-extension-scheme"
"moz-extension-scheme"
];
dynamicFilteringString = ''
behind-the-scene * * noop
behind-the-scene * inline-script noop
behind-the-scene * 1p-script noop
behind-the-scene * 3p-script noop
behind-the-scene * 3p-frame noop
behind-the-scene * image noop
behind-the-scene * 3p noop
'';
hostnameSwitchesString = ''
no-large-media: behind-the-scene false
no-csp-reports: * true
no-scripting: * true
no-scripting: duckduckgo.com false
no-scripting: html.duckduckgo.com false
no-scripting: groningenhuurt.mijndak.nl false
no-scripting: brightspace.rug.nl false
no-scripting: signon.rug.nl false
no-scripting: docs.djairo.dev false
no-scripting: git.djairo.dev false
no-scripting: www.buienradar.nl false
no-scripting: www.openstreetmap.org false
no-scripting: qbittorrent.djairo.dev false
no-scripting: backrest.djairo.dev false
no-scripting: dozzle.djairo.dev false
no-scripting: opencloud.djairo.dev false
no-scripting: backrest.m.djairo.dev false
no-scripting: dozzle.m.djairo.dev false
no-scripting: vault.m.djairo.dev false
no-scripting: wg-easy.u.djairo.dev false
no-scripting: invidious.djairo.dev false
no-scripting: radarr.m.djairo.dev false
no-scripting: sonarr.m.djairo.dev false
no-scripting: navidrome.djairo.dev false
no-scripting: navidrome.u.djairo.dev false
no-scripting: mijnzakelijk.belastingdienst.nl false
no-scripting: www.belastingdienst.nl false
no-scripting: www.overleaf.com false
no-scripting: sci-hub.box false
no-scripting: riichi.djairo.dev false
no-scripting: riichi.garfield.sh false
no-scripting: ocasys.rug.nl false
no-scripting: rooster.rug.nl false
no-scripting: www.tumblr.com false
no-scripting: music.youtube.com false
'';
};
};
};
}
+216
View File
@@ -0,0 +1,216 @@
/* Catppuccin Macchiato Palette */
:root {
--vimium-rosewater: #f4dbd6;
--vimium-peach: #f5a97f;
--vimium-green: #a6da95;
--vimium-blue: #8aadf4;
--vimium-lavender: #b7bdf8;
--vimium-text: #cad3f5;
--vimium-mauve: #c6a0f6;
--vimium-subtext0: #a5adcb
--vimium-subtext1: #b8c0e0
--vimium-surface2: #5b6078;
--vimium-surface1: #494d64;
--vimium-surface0: #363a4f;
--vimium-base: #24273a;
--vimium-mantle: #1e2030;
--vimium-crust: #181926;
--vimium-foreground-text-color: var(--vimium-text);
--vimium-background-text-color: var(--vimium-text);
--vimium-foreground-color: var(--vimium-mantle);
}
/* link hints */
#vimium-hint-marker-container div.internal-vimium-hint-marker,
#vimium-hint-marker-container div.vimiumHintMarker {
padding: 3px 4px;
background: var(--vimium-mauve);
border: 10px;
border-color: var(--vimium-mantle);
box-shadow: none;
}
#vimium-hint-marker-container div span {
color: var(--vimium-mantle);
text-shadow: none;
}
#vimium-hint-marker-container div span.matchingCharacter {
color: var(--vimium-surface2);
}
/* vomnibar */
#vomnibar {
background: var(--vimium-base);
border: 2px solid var(--vimium-lavender);
animation: show 200ms cubic-bezier(0, 0, 0.2, 1) forwards;
max-height: calc(100vh - 70px);
overflow: hidden;
border-radius: 10px;
}
@keyframes show {
0% {
transform: translateY(50px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
#vomnibar input {
color: var(--vimium-text);
background: var(--vimium-base);
border: none;
box-shadow: none;
height: unset;
padding: 16px 30px;
}
#vomnibar #vomnibar-search-area {
border: none;
padding: unset;
background: var(--vimium-base);
}
#vomnibar ul {
padding: 0;
margin: 0;
background: var(--vimium-base);
border-top: 1px solid var(--vimium-surface0);
}
#vomnibar li {
padding: 10px;
border-bottom: 1px solid var(--vimium-surface0);
}
#vomnibar li .top-half,
#vomnibar li .bottom-half {
padding: 3px 0;
}
#vomnibar li .source {
color: var(--vimium-mauve);
}
#vomnibar li em,
#vomnibar li .title {
color: var(--vimium-blue);
font-weight: bold;
}
#vomnibar li .url {
color: var(--vimium-rosewater);
}
#vomnibar li .match {
color: var(--vimium-green);
font-weight: bold;
}
#vomnibar li .title .match {
color: var(--vimium-blue);
}
#vomnibar li.selected {
background-color: var(--vimium-surface0);
}
/* search/find hud */
div#hud-container {
background: var(--vimium-base);
border: 1px solid var(--vimium-text);
box-shadow: none;
}
div#hud-container span#hud-find-input,
div#hud-container div#hud {
color: var(--vimium-text);
}
div#hud-container .hud-find,
div#hud-container #search-area {
background-color: var(--vimium-base);
}
::selection {
background-color: var(--vimium-peach) !important;
color: var(--vimium-mantle) !important;
}
/* vimium settings */
body.vimium-body header,
body.vimium-body label,
body.vimium-body {
color: var(--vimium-text);
background-color: var(--vimium-base);
}
body.vimium-body button,
body.vimium-body footer,
body.vimium-body textarea,
body.vimium-body input {
scrollbar-color: var(--vimium-surface2) var(--vimium-surface0);
background-color: var(--vimium-mantle);
}
body.vimium-body #wrapper .example {
color: var(--vimium-subtext1);
}
body.vimium-body a {
color: var(--vimium-lavender);
}
body.vimium-body input,
body.vimium-body button {
border-color: var(--vimium-crust);
}
body.vimium-body button:focus {
border-color: var(--vimium-blue);
}
/* help dialog */
#dialog {
color: var(--vimium-text);
background: var(--vimium-mantle);
}
#dialog .divider {
background: var(--vimium-text);
}
#dialog a,
#dialog span.vim {
color: var(--vimium-blue);
}
#dialog div.help-description,
#dialog h2,
#dialog h1,
#dialog a#close {
color: var(--vimium-text);
}
#dialog a#close:hover {
color: var(--vimium-surface0);
}
#dialog .key,
body.vimium-body .key {
color: var(--vimium-text);
background: var(--vimium-mantle);
border-color: var(--vimium-surface1);
}
+54
View File
@@ -0,0 +1,54 @@
{ pkgs, ...}:
{
extensions = {
packages = [ pkgs.nur.repos.rycee.firefox-addons.vimium ];
settings = {
"vimium".settings = { # TODO: check correct
exclusionRules = [
{ passKeys = ""; pattern = "https?://www.overleaf.com/*"}
{ passKeys = ""; pattern = "https?://neetcode.io/*"}
];
keyMappings = ''
# defaults
unmap R
unmap <c-e>
map c LinkHints.activateMode action=hover
# swap local and global marks
map m Marks.activateCreateMode swap
map ' Marks.activateGotoMode swap
# move tab all the way left/right
map <a-,> moveTabLeft count=99
map <a-.> moveTabRight count=99
# scrolling
map D scrollFullPageDown
map U scrollFullPageUp
map a scrollDown count=5
map d scrollUp count=5
map J scrollDown count=5
map K scrollUp count=5
'';
newTabCustomUrl = "web.tabliss.io";
newTabDestination = "customUrl";
regexFindMode = true;
searchEngines = ''
b: https://bulbapedia.bulbagarden.net/w/index.php?title=Special%3ASearch&search=%s&go=Go Bulbapedia
w: https://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia
d: https://duckduckgo.com/?q=%s Duckduckgo
o: https://www.openstreetmap.org/search?query=%s Openstreetmap
g: https://www.google.com/search?q=%s Google
y: https://www.youtube.com/results?search_query=%s Youtube
e: https://www.ecosia.org/search?method=index&q=%s Ecosia
a: https://wiki.archlinux.org/index.php?search=%s Archwiki
ym: https://music.youtube.com/search?q=%s Youtube Music
m: https://www.google.com/maps?q=%s Google maps
'';
userDefinedLinkHintCss = builtins.readFile ./vimium.css;
};
};
};
}
+109
View File
@@ -0,0 +1,109 @@
{ pkgs, ...}:
{
extensions = {
packages = [ pkgs.nur.repos.rycee.firefox-addons.xkit-rewritten ];
settings = {
"xkit-rewritten".settings = { # TODO: check correct
enabledScripts = [
"anti_capitalism"
"vanilla_video"
"vanilla_audio"
"classic_search"
"mass_unliker"
"mutual_checker"
"no_recommended"
"notificationblock"
"open_in_tabs"
"quote_replies"
"trim_reblogs"
"tweaks"
"limit_checker"
"postblock"
"quick_reblog"
];
anti_capitalism.preferences.includeBlazed = true;
classic_search.preferences.newTab = false,
collapsed_queue.preferences = {
runInDrafts = false;
runInQueue = true;
};
mutual_checker.preferences = {
showOnlyMutualNotifications = false;
showOnlyMutuals = false;
};
no_recommended.preferences = {
hide_answertime = true;
hide_blog_carousels = true;
hide_community_carousels = true;
hide_lightbox_related = true;
hide_radar = true;
hide_recommended_blogs = true;
hide_recommended_blogs_modal = true;
hide_recommended_community_posts = false;
hide_recommended_posts = true;
hide_search_communities = false;
hide_search_community_posts = false;
hide_tag_carousels = true;
};
panorama.preferences = {
communitiesEnable = true;
expandPostMedia = true;
mainEnable = true;
maxPostWidth = "1280px";
patioEnable = true;
};
quick_reblog.preferences = {
alreadyRebloggedEnabled = true;
alreadyRebloggedLimit = "10000";
popupPosition = "below";
queueTag = "";
quickTagsIntegration = true;
reblogTag = "";
rememberLastBlog = false;
showBlogSelector = true;
showCommentInput = false;
showTagSuggestions = false;
showTagsInput = true;
};
quote_replies.preferences = {
newTab = false;
tagReplyingBlog = false;
};
seen_posts.preferences = {
hideSeenPosts = false;
onlyDimAvatars = false;
};
tweaks.preferences = {
caught_up_line = false;
create_button_no_bubbles = false;
following_tab = false;
hide_activity_mutuals = false;
hide_activity_notification_badge = false;
hide_blaze_tip_labels = true;
hide_blocked_blogs = false;
hide_communities_notification_badge = false;
hide_filtered_posts = false;
hide_follower_counts = false;
hide_following_notification_badge = false;
hide_footer_tooltips = false;
hide_liked_posts = false;
hide_mini_follow = true;
hide_my_posts = false;
hide_new_posts_indicator = true;
highlight_contributed_content = false;
no_focus_shadow = false;
no_live = true;
no_where_were_we = true;
restore_attribution_links = false;
show_all_tags = true;
slim_filtered_screens = false;
subtle_activity_mutuals = false;
unsticky_post_avatars = false;
unsticky_tab_bar = false;
};
};
};
};
}
+31 -37
View File
@@ -1,46 +1,40 @@
{ lib, pkgs, ... }:
{
programs.firefox = {
home-manager.users.djai.programs.firefox = {
enable = true;
preferences = {
"browser.resistFingerPrinting" = true;
"browser.ipProtection.hasSeenFeature" = true;
"browser.newtab.extensionController" = true;
"browser.startup.homepage" = "moz-extension://cb0256df-d9d4-4624-94a2-b3e2ddc4a3e0/index.html";
"browser.bookmarks.visibility" = "never";
"browser.translations.popup" = false;
"privacy.bounceTrackingProtection.mode" = "1";
"privacy.donottrackheader.enabled" = true;
"privacy.fingerprintingProtection" = true;
"privacy.fingerprintingProtection.overrides" = "+AllTargets,-JSDateTimeUTC";
"privacy.trackingprotection.enabled" = true;
"reader.color_scheme" = "dark";
};
policies = {
DisableTelemetry = true;
ExtensionSettings = {
"uBlock0@raymondhill.net" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
};
"vimium@vimium.org" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/vimium/latest.xpi";
};
"addon@darkreader.org" = { # FIXME: does not work
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
};
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
installation_mode = "force_installed";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
policies.DisableTelemetry = true;
profiles = {
default = {
imports = [ ./extensions ];
userChrome = builtins.readFile ./userChrome.css;
settings = {
browser = {
resistFingerPrinting = true;
ipProtection.hasSeenFeature = true;
newtab.extensionController = true;
bookmarks.visibility = "never";
translations.popup = false;
};
privacy = {
bounceTrackingProtection.mode = 1;
donottrackheader.enabled = true;
baselineFingerprintingProtection = true;
fingerprintingProtection.overrides = "+AllTargets,-JSDateTimeUTC";
trackingprotection.enabled = true;
};
};
bookmarks.settings = [
{ name = "Buienalarm Groningen"; url = "https://www.buienalarm.nl/nederland/groningen/10226"; }
{ name = "piracy";
toolbar = false;
bookmarks = [ ]; # TODO: update these
}
];
# TODO: test works
extensions.settings."uBlock0@raymondhill.net".settings.hostnameSwitchesString = ""; # override so we don't disable javascript
};
};
};
}
+60
View File
@@ -0,0 +1,60 @@
{ pkgs, ... }:
let
subdomains = [
"backrest"
"docs"
"dozzle"
"git"
"git"
"invidious"
"navidrome"
"opencloud"
"qbittorrent"
"radarr"
"riichi"
"sonarr"
"vault"
"wg-easy"
];
generateSelfHosted = urls: [ map (url: { name = url; url ="https://{$url}.djairo.dev"; } ) urls ];
in
{
home-manager.users.djai.programs.librewolf = {
enable = true;
profiles = {
default = {
imports = [
./extensions
./extensions/xkit.nix
./extensions/sponsorblock.nix
];
# FIXME: palettes for tumblr does not exist in NUR
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons [ privacy-redirect ];
userChrome = builtins.readFile ./userChrome.css;
bookmarks.settings = [
{
name = "self-hosted";
toolbar = false;
bookmarks = (generateSelfHosted subdomains);
}
{ name = "links";
toolbar = false;
bookmarks = [
{ name = "rooster"; url = "https://rooster.rug.nl"; }
{ name = "themis"; url = "https://themis.rug.nl"; }
{ name = "brightspace"; url = "https://brightspace.rug.nl"; }
{ name = "overleaf"; url = "https://overleaf.com/institutional-login"; }
{ name = "doeksen"; url = "https://rederij-doeksen.nl"; }
{ name = "tumblr"; url = "https://tumblr.com"; }
{ name = "Buienalarm Groningen"; url = "https://www.buienalarm.nl/nederland/groningen/10226"; }
{ name = "xkcd"; url = "https://xkcd.com"; }
];
}
];
};
};
};
}
+522
View File
@@ -0,0 +1,522 @@
/*---+---+---+---+---+---+
| G | L | O | B | A | L |
+---+---+---+---+---+---*/
:root {
/* Global Border Radius
* applied to ALL UI elements
*/
--uc-border-radius: 8px;
/* The distance the Statuspanel floats
* away from the window border
* 0 places directly in the corner
*/
--uc-status-panel-spacing: 12px;
}
/* remove window control buttons */
.titlebar-buttonbox-container {
display: none !important;
}
#pageActionButton {
display: none !important;
}
#PanelUI-menu-button {
padding: 0px !important;
}
#PanelUI-menu-button .toolbarbutton-icon {
width: 1px !important;
}
#PanelUI-menu-button .toolbarbutton-badge-stack {
padding: 0px !important;
}
/*---+---+---+---+---+---+---+
| T | O | O | L | B | A | R |
+---+---+---+---+---+---+---*/
/* Position of the Personal Toolbar
* possible values:
* 0 – toolbar on top
* 4 – toolbar on bottom
*/
:root {
--uc-toolbar-position: 4;
}
/* Darken the Personal Toolbar by X amount
* where X = 1 means pure black
* and X = 0 means no darkening at all
*/
@media (prefers-color-scheme: dark) {
:root {
--uc-darken-toolbar: 0.2;
}
}
@media (prefers-color-scheme: light) {
:root {
--uc-darken-toolbar: 0;
}
}
/*---+---+---+---+---+---+---+
| U | R | L | — | B | A | R |
+---+---+---+---+---+---+---*/
:root {
/* Width of the URL Bar for the Oneline layout
* If enabled the max-width is applied on focus
* otherwise the URL Bar will always be it's min-width
*/
--uc-urlbar-min-width: 100vw;
--uc-urlbar-max-width: 100vw;
/* Position of the URL Bar
* possible values:
* 1 – tabs on the right
* 3 – tabs on the left
*/
--uc-urlbar-position: 1;
/* Firefox can be a little wonky with the vertical
* URL Bar placement. Change this variable to adapt
* to this when necessary.
*/
--uc-urlbar-top-spacing: 1px;
}
/* Disable the Navigation Buttons */
#back-button,
#forward-button {
display: none !important;
}
/* Disables the Tracking Protection Shield */
/* #tracking-protection-icon-container { display: none !important; } */
/* Encryption and Permissions icons */
/* Only hides permission items */
#identity-permission-box {
display: none !important;
}
/* Hides extension page box */
#identity-box.extensionPage {
display: none !important;
}
/* Hides encryption AND permission items */
/* #identity-box { display: none !important } */
/* Hide everything BUT the zoom indicator within the URL Bar */
/* #page-action-buttons > :not(#urlbar-zoom-button) { display: none !important; } */
/* Hide the »Go«-arrow in the URL Bar */
#urlbar-go-button {
display: none !important;
}
/* Hides the Extensions Menu Icon */
/* #unified-extensions-button { display: none !important; } */
/*---+---+---+---+---+---+---+
| T | A | B | — | B | A | R |
+---+---+---+---+---+---+---*/
:root {
/* Allow tabs to have dynamic widths based on
* the Tab Bars maximum width
*/
--uc-active-tab-width: clamp(100px, 30vw, 300px);
--uc-inactive-tab-width: clamp(100px, 20vw, 200px);
/* Enable this to always show the Tab Close button
* possible values:
* show: -moz-inline-block
* hide: none
*/
--show-tab-close-button: none;
/* Enable this to only show the Tab Close button on tab hover
* possible values:
* show: -moz-inline-block
* hide: none
*/
--show-tab-close-button-hover: none;
/* Hide the all Tabs button from the Tab Bar
* possible values:
* show: -moz-box
* hide: none
*/
--uc-show-all-tabs-button: none;
/* Left and Right "dip" of the container indicator
* 0px equals tab width
* higer values make the indicator smaller
*/
--container-tabs-indicator-margin: 10px;
/* Amount of Glow to add to the container indicator
* Setting it to 0 disables the Glow
*/
--uc-identity-glow: 0 1px 10px 1px;
}
/* Hide the secondary Tab Label
* e.g. playing indicator (the text, not the icon) */
.tab-secondary-label {
display: none !important;
}
/*---+---+---+---+---+---+---+
| C | O | L | O | U | R | S |
+---+---+---+---+---+---+---*/
@media (prefers-color-scheme: dark) { :root {
/* These colours are (mainly) used by the
Container Tabs Plugin */
--uc-identity-colour-blue: #7ED6DF;
--uc-identity-colour-turquoise: #55E6C1;
--uc-identity-colour-green: #B8E994;
--uc-identity-colour-yellow: #F7D794;
--uc-identity-colour-orange: #F19066;
--uc-identity-colour-red: #FC5C65;
--uc-identity-colour-pink: #F78FB3;
--uc-identity-colour-purple: #786FA6;
/* Cascades main Colour Scheme */
--uc-base-colour: #1E2021;
--uc-highlight-colour: #191B1C;
--uc-inverted-colour: #FAFAFC;
--uc-muted-colour: #AAAAAC;
--uc-accent-colour: var(--uc-identity-colour-purple);
}}
@media (prefers-color-scheme: light) { :root {
/* These colours are (mainly) used by the
Container Tabs Plugin */
--uc-identity-colour-blue: #1D65F5;
--uc-identity-colour-turquoise: #209FB5;
--uc-identity-colour-green: #40A02B;
--uc-identity-colour-yellow: #E49320;
--uc-identity-colour-orange: #FE640B;
--uc-identity-colour-red: #FC5C65;
--uc-identity-colour-pink: #EC83D0;
--uc-identity-colour-purple: #822FEE;
/* Cascades main Colour Scheme */
--uc-base-colour: #FAFAFC;
--uc-highlight-colour: #DADADC;
--uc-inverted-colour: #1E2021;
--uc-muted-colour: #191B1C;
--uc-accent-colour: var(--uc-identity-colour-purple);
}}
/* Down here I'm just reassigning variables based on the colours set above.
Feel free to play around with these but there is no editing necessary below this line. c:
*/
:root {
--lwt-frame: var(--uc-base-colour) !important;
--lwt-accent-color: var(--lwt-frame) !important;
--lwt-text-color: var(--uc-inverted-colour) !important;
--toolbar-field-color: var(--uc-inverted-colour) !important;
--toolbar-field-focus-color: var(--uc-inverted-colour) !important;
--toolbar-field-focus-background-color: var(--uc-highlight-colour) !important;
--toolbar-field-focus-border-color: transparent !important;
--toolbar-field-background-color: var(--lwt-frame) !important;
--lwt-toolbar-field-highlight: var(--uc-inverted-colour) !important;
--lwt-toolbar-field-highlight-text: var(--uc-highlight-colour) !important;
--urlbar-popup-url-color: var(--uc-accent-colour) !important;
--lwt-tab-text: var(--lwt-text-colour) !important;
--lwt-selected-tab-background-color: var(--uc-highlight-colour) !important;
--toolbar-bgcolor: var(--lwt-frame) !important;
--toolbar-color: var(--lwt-text-color) !important;
--toolbarseparator-color: var(--uc-accent-colour) !important;
--toolbarbutton-hover-background: var(--uc-highlight-colour) !important;
--toolbarbutton-active-background: var(--toolbarbutton-hover-background) !important;
--lwt-sidebar-background-color: var(--lwt-frame) !important;
--sidebar-background-color: var(--lwt-sidebar-background-color) !important;
--urlbar-box-bgcolor: var(--uc-highlight-colour) !important;
--urlbar-box-text-color: var(--uc-muted-colour) !important;
--urlbar-box-hover-bgcolor: var(--uc-highlight-colour) !important;
--urlbar-box-hover-text-color: var(--uc-inverted-colour) !important;
--urlbar-box-focus-bgcolor: var(--uc-highlight-colour) !important;
}
.identity-color-blue { --identity-tab-color: var(--uc-identity-colour-blue) !important; --identity-icon-color: var(--uc-identity-colour-blue) !important; }
.identity-color-turquoise { --identity-tab-color: var(--uc-identity-colour-turquoise) !important; --identity-icon-color: var(--uc-identity-colour-turquoise) !important; }
.identity-color-green { --identity-tab-color: var(--uc-identity-colour-green) !important; --identity-icon-color: var(--uc-identity-colour-green) !important; }
.identity-color-yellow { --identity-tab-color: var(--uc-identity-colour-yellow) !important; --identity-icon-color: var(--uc-identity-colour-yellow) !important; }
.identity-color-orange { --identity-tab-color: var(--uc-identity-colour-orange) !important; --identity-icon-color: var(--uc-identity-colour-orange) !important; }
.identity-color-red { --identity-tab-color: var(--uc-identity-colour-red) !important; --identity-icon-color: var(--uc-identity-colour-red) !important; }
.identity-color-pink { --identity-tab-color: var(--uc-identity-colour-pink) !important; --identity-icon-color: var(--uc-identity-colour-pink) !important; }
.identity-color-purple { --identity-tab-color: var(--uc-identity-colour-purple) !important; --identity-icon-color: var(--uc-identity-colour-purple) !important; }
/*---+---+---+---+---+---+
| L | A | Y | O | U | T |
+---+---+---+---+---+---*/
:root {
--toolbarbutton-border-radius: var(--uc-border-radius) !important;
--tab-border-radius: var(--uc-border-radius) !important;
--arrowpanel-border-radius: var(--uc-border-radius) !important;
}
#toolbar-menubar {
&[autohide="true"] {
&[inactive]:not([customizing]) {
width: 0px;
}
}
}
#main-window,
#toolbar-menubar,
#TabsToolbar,
#navigator-toolbox,
#sidebar-box,
#nav-bar {
box-shadow: none !important;
}
#main-window,
#toolbar-menubar,
#TabsToolbar,
#PersonalToolbar,
#navigator-toolbox,
#sidebar-box,
#nav-bar {
border: none !important;
}
/* remove "padding" left and right from tabs */
.titlebar-spacer {
display: none !important;
}
/* fix Shield Icon padding */
#urlbar-input-container[pageproxystate="valid"]
> #tracking-protection-icon-container
> #tracking-protection-icon-box
> #tracking-protection-icon {
padding-bottom: 1px;
}
#TabsToolbar {
order: 2;
}
#nav-bar {
order: 3;
}
#PersonalToolbar {
padding: 6px !important;
box-shadow: inset 0 0 50vh rgba(0, 0, 0, var(--uc-darken-toolbar)) !important;
order: var(--uc-toolbar-position);
width: 100%;
}
#statuspanel #statuspanel-label {
border: none !important;
border-radius: var(--uc-border-radius) !important;
}
/*---+---+---+---+---+---+---+---+---+
| R | E | S | P | O | N | I | V | E |
+---+---+---+---+---+---+---+---+---*/
@media (min-width: 1000px) {
#navigator-toolbox {
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
#nav-bar {
order: var(--uc-urlbar-position);
width: var(--uc-urlbar-min-width);
}
#nav-bar #urlbar-container {
min-width: 0px !important;
width: auto !important;
}
#TabsToolbar {
width: calc(100vw - var(--uc-urlbar-min-width) - 1px);
}
#navigator-toolbox:focus-within #nav-bar {
width: var(--uc-urlbar-max-width);
}
#navigator-toolbox:focus-within #titlebar {
width: calc(100vw - var(--uc-urlbar-max-width) - 1px);
}
}
/*---+---+---+---+---+---+---+---+
| F | L | O | A | T | I | N | G |
+---+---+---+---+---+---+---+---*/
#statuspanel #statuspanel-label {
margin: 0 0 var(--uc-status-panel-spacing) var(--uc-status-panel-spacing) !important;
}
/*---+---+---+---+---+---+
| N | A | V | B | A | R |
+---+---+---+---+---+---*/
#navigator-toolbox:not(:-moz-lwtheme) {
background: var(--toolbar-field-background-color) !important;
}
#nav-bar {
padding-block-start: 0px !important;
border: none !important;
box-shadow: none !important;
background: transparent !important;
}
#urlbar,
#urlbar * {
outline: none !important;
box-shadow: none !important;
}
#urlbar-background {
border: transparent !important;
}
#urlbar[focused="true"] > #urlbar-background,
#urlbar:not([open]) > #urlbar-background {
background: var(--toolbar-field-background-color) !important;
}
#urlbar[open] > #urlbar-background {
background: var(--toolbar-field-background-color) !important;
}
.urlbarView-row:hover > .urlbarView-row-inner,
.urlbarView-row[selected] > .urlbarView-row-inner {
background: var(--toolbar-field-focus-background-color) !important;
}
.urlbar-icon,
#urlbar-go-button {
margin: auto;
}
.urlbar-page-action {
padding: 0 inherit !important;
}
/* #page-action-buttons, */
#home-button,
#stop-reload-button {
display: none !important;
}
/*---+---+---+---+---+---+
| N | O | T | A | B | S |
+---+---+---+---+---+---*/
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_toolbar.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Hides tabs toolbar */
/* For OSX use hide_tabs_toolbar_osx.css instead */
/* Note, if you have either native titlebar or menubar enabled, then you don't really need this style.
* In those cases you can just use: #TabsToolbar{ visibility: collapse !important }
*/
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it
*/
:root[tabsintitlebar]{ --uc-toolbar-height: 40px; }
:root[tabsintitlebar][uidensity="compact"]{ --uc-toolbar-height: 32px }
#titlebar{
will-change: unset !important;
transition: none !important;
opacity: 1 !important;
}
#TabsToolbar{ visibility: collapse !important }
:root[sizemode="fullscreen"] #titlebar{ position: relative }
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container{
visibility: visible !important;
z-index: 2;
}
:root:not([inFullscreen]) #nav-bar{
margin-top: calc(0px - var(--uc-toolbar-height,0px));
}
:root[tabsintitlebar] #toolbar-menubar[autohide="true"]{
min-height: unset !important;
height: var(--uc-toolbar-height,0px) !important;
position: relative;
}
#toolbar-menubar[autohide="false"]{
margin-bottom: var(--uc-toolbar-height,0px)
}
:root[tabsintitlebar] #toolbar-menubar[autohide="true"] #main-menubar{
flex-grow: 1;
align-items: stretch;
background-attachment: scroll, fixed, fixed;
background-position: 0 0, var(--lwt-background-alignment), right top;
background-repeat: repeat-x, var(--lwt-background-tiling), no-repeat;
background-size: auto 100%, var(--lwt-background-size, auto auto), auto auto;
padding-right: 20px;
}
:root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive]) #main-menubar{
background-color: var(--lwt-accent-color);
background-image: linear-gradient(var(--toolbar-bgcolor,--toolbar-non-lwt-bgcolor),var(--toolbar-bgcolor,--toolbar-non-lwt-bgcolor)), var(--lwt-additional-images,none), var(--lwt-header-image, none);
mask-image: linear-gradient(to left, transparent, black 20px);
}
#toolbar-menubar:not([inactive]){ z-index: 2 }
#toolbar-menubar[autohide="true"][inactive] > #menubar-items {
opacity: 0;
pointer-events: none;
margin-left: var(--uc-window-drag-space-pre,0px)
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.