1
0
Fork 0
mirror of https://git.sr.ht/~azikx/wyswort synced 2024-10-30 05:16:19 +00:00

update 

This commit is contained in:
azikx 2024-10-13 10:01:20 +09:00
parent 4c6699d498
commit ce5c1b072b
15 changed files with 1371 additions and 0 deletions

View file

@ -0,0 +1,68 @@
{ pkgs, inputs, ... }:
{
imports = [
# ./user
# ./settings.nix
# ./search.nix
];
programs.floorp= {
enable = true;
package = pkgs.floorp;
languagePacks = [ "ru" ];
profiles.dragora = {
id = 0;
name = "megamozg";
isDefault = true;
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
#VERY IMPORTANT
omnisearch
ublock-origin
sponsorblock
darkreader
vimium-c
newtab-adapter
censor-tracker
# MISC
tabcenter-reborn
firefox-color
stylus
translate-web-pages
];
};
policies = {
CaptivePortal = false;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
# DisableFirefoxAccounts = true;
DisableFormHistory = true;
DisplayBookmarksToolbar = false;
DontCheckDefaultBrowser = true;
DisableProfileRefresh = true;
PromptForDownloadLocation = false;
NetworkPrediction = false;
showSearchBar = true;
DisableSetDesktopBackground = true;
LegacyProfiles = true;
ManualAppUpdateOnly = true;
DisableFirefoxScreenshots = true;
HardwareAcceleration = true;
FirefoxHome = {
Pocket = false;
Snippets = false;
};
SanitizeOnShutdown = {
Cache = true;
History = false;
Cookies = false;
Downloads = true;
FormData = true;
Sessions = true;
OfflineApps = true;
};
PasswordManagerEnabled = true;
};
};
}

View file

@ -0,0 +1,27 @@
{ pkgs, ... }:
{
programs.firefox.profiles.dragora = {
search = {
force = true;
default = "Google";
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages?channel=unstable";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"Bing".metaData.hidden = true;
"DuckDuckGo".metaData.hidden = true;
"Wikipedia (en)".metaData.hidden = true;
"Google".metaData.alias = "@g";
};
};
};
}

View file

@ -0,0 +1,165 @@
{ ... }:
{
programs.firefox.profiles.dragora.settings = {
# OTHER
"layers.acceleration.force-enabled" = true;
"gfx.webrender.all" = true;
"svg.context-properties.content.enabled" = true;
"ui.key.menuAccessKeyFocuses" = false;
# FASTFOX
"content.notify.interval" = 100000;
"gfx.canvas.accelerated.cache-items" = 4096;
"gfx.canvas.accelerated.cache-size" = 512;
"gfx.content.skia-font-cache-size" = 20;
"browser.cache.jsbc_compression_level" = 3;
"media.memory_cache_max_size" = 65536;
"media.cache_readahead_limit" = 7200;
"media.cache_resume_threshold" = 3600;
"image.mem.decode_bytes_at_a_time" = 32768;
"network.http.max-connections" = 1800;
"network.http.max-persistent-connections-per-server" = 10;
"network.http.max-urgent-start-excessive-connections-per-host" = 5;
"network.http.pacing.requests.enabled" = false;
"network.dnsCacheExpiration" = 3600;
"network.ssl_tokens_cache_capacity" = 10240;
"network.dns.disablePrefetch" = true;
"network.dns.disablePrefetchFromHTTPS" = true;
"network.prefetch-next" = false;
"network.predictor.enabled" = false;
"network.predictor.enable-prefetch" = false;
"layout.css.grid-template-masonry-value.enabled" =true;
"dom.enable_web_task_scheduling" = true;
"dom.security.sanitizer.enabled" =true;
# SECUREFOX
"browser.contentblocking.category" = "strict";
"urlclassifier.trackingSkipURLs" = "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com";
"urlclassifier.features.socialtracking.skipURLs" = "*.instagram.com, *.twitter.com, *.twimg.com";
"network.cookie.sameSite.noneRequiresSecure" = true;
"browser.download.start_downloads_in_tmp_dir" = true;
"browser.helperApps.deleteTempFileOnExit" = true;
"browser.uitour.enabled" = false;
"privacy.globalprivacycontrol.enabled" = true;
"security.OCSP.enabled" = 0;
"security.remote_settings.crlite_filters.enabled" = true;
"security.pki.crlite_mode" = 2;
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
"browser.xul.error_pages.expert_bad_cert" = true;
"security.tls.enable_0rtt_data" = false;
"browser.privatebrowsing.forceMediaMemoryCache" = true;
"browser.sessionstore.interval" = 60000;
"privacy.history.custom" = true;
"browser.urlbar.trimHttps" = true;
"browser.urlbar.untrimOnUserInteraction.featureGate" = true;
"browser.search.separatePrivateDefault.ui.enabled" = true;
"browser.urlbar.update2.engineAliasRefresh" = true;
"browser.search.suggest.enabled" = false;
"browser.urlbar.quicksuggest.enabled" = false;
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
"browser.urlbar.groupLabels.enabled" = false;
"browser.formfill.enable" = false;
"security.insecure_connection_text.enabled" = true;
"security.insecure_connection_text.pbmode.enabled" = true;
"network.IDN_show_punycode" = true;
"dom.security.https_first" = true;
"signon.formlessCapture.enabled" = false;
"signon.privateBrowsingCapture.enabled" = false;
"network.auth.subresource-http-auth-allow" = 1;
"editor.truncate_user_pastes" = false;
"security.mixed_content.block_display_content" = true;
"pdfjs.enableScripting" = false;
"extensions.postDownloadThirdPartyPrompt" = false;
"network.http.referer.XOriginTrimmingPolicy" = 2;
"privacy.userContext.ui.enabled" = true;
"media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
"media.peerconnection.ice.default_address_only" = true;
"browser.safebrowsing.downloads.remote.enabled" = false;
"permissions.default.desktop-notification" = 2;
"permissions.default.geo" = 2;
"permissions.manager.defaultsUrl" = "";
"webchannel.allowObject.urlWhitelist" = "";
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.server" = "data:,";
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.coverage.opt-out" = true;
"toolkit.coverage.opt-out" = true;
"toolkit.coverage.endpoint.base" = "";
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"app.shield.optoutstudies.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"breakpad.reportURL" = "";
"browser.tabs.crashReporting.sendReport" = false;
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
"captivedetect.canonicalURL" = "";
"network.captive-portal-service.enabled" = false;
"network.connectivity-service.enabled" = false;
# PESKYFOX
"browser.privatebrowsing.vpnpromourl" = "";
"extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"browser.discovery.enabled" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
"browser.preferences.moreFromMozilla" = false;
"browser.aboutConfig.showWarning" = false;
"browser.aboutwelcome.enabled" = false;
"browser.tabs.tabmanager.enabled" = false;
"browser.profiles.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.compactmode.show" = true;
"browser.display.focus_ring_on_anything" = true;
"browser.display.focus_ring_style" = 0;
"browser.display.focus_ring_width" = 0;
"layout.css.prefers-color-scheme.content-override" = 2;
"browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled" = true;
"cookiebanners.service.mode" = 1;
"cookiebanners.service.mode.privateBrowsing" = 1;
"full-screen-api.transition-duration.enter" = "0 0";
"full-screen-api.transition-duration.leave" = "0 0";
"full-screen-api.warning.delay" = -1;
"full-screen-api.warning.timeout" = 0;
"browser.urlbar.suggest.engines" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.suggest.calculator" = true;
"browser.urlbar.unitConversion.enabled" = true;
"browser.urlbar.trending.featureGate" = false;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"extensions.pocket.enabled" = false;
"browser.download.manager.addToRecentDocs" = false;
"browser.download.open_pdf_attachments_inline" = true;
"browser.bookmarks.openInTabClosesMenu" = false;
"browser.menu.showViewImageInfo" = true;
"findbar.highlightAll" = true;
"layout.word_select.eat_space_to_next_word" = false;
"browser.startup.page" = 1;
# SMOOTHFOX
"general.smoothScroll" = true;
"general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS" = 12;
"general.smoothScroll.msdPhysics.enabled" = true;
"general.smoothScroll.msdPhysics.motionBeginSpringConstant" = 600;
"general.smoothScroll.msdPhysics.regularSpringConstant" = 650;
"general.smoothScroll.msdPhysics.slowdownMinDeltaMS" = 25;
"general.smoothScroll.msdPhysics.slowdownMinDeltaRatio" = "2";
"general.smoothScroll.msdPhysics.slowdownSpringConstant" = 250;
"general.smoothScroll.stopDecelerationWeighting" = "0.6";
"general.smoothScroll.currentVelocityWeighting" = "0.15";
"mousewheel.default.delta_multiplier_y" = 300;
"mousewheel.min_line_scroll_amount" = 10;
};
}

View file

@ -0,0 +1,112 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
/*---+---+---+---+---+---+---+
| 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: #8DA3B9;
--uc-identity-colour-turquoise: #8AA6A2;
--uc-identity-colour-green: #8C977D;
--uc-identity-colour-yellow: #D9BC8C;
--uc-identity-colour-orange: #D9BC8C;
--uc-identity-colour-red: #B66467;
--uc-identity-colour-pink: #A988B0;
--uc-identity-colour-purple: #A988B0;
/* Cascades main Colour Scheme */
--uc-base-colour: #151515;
--uc-highlight-colour: #1F1F1F;
--uc-inverted-colour: #E8E3E3;
--uc-muted-colour: #BBB6B6;
--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; }
'';
}

View file

@ -0,0 +1,166 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
/*---+---+---+---+---+---+
| G | L | O | B | A | L |
+---+---+---+---+---+---*/
:root {
/* Global Border Radius
* applied to ALL UI elements
*/ --uc-border-radius: 12px;
/* 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: 0;
}
/* 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: 0vw;
--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 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: -moz-inline-block !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, 18vw, 170px);
--uc-inactive-tab-width: clamp(100px, 15vw, 90px);
/* 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; }
'';
}

View file

@ -0,0 +1,11 @@
{
imports = [
./colors.nix
./config.nix
./layout.nix
./navbar.nix
# ./resp.nix
./tabs.nix
./tcr.nix
];
}

View file

@ -0,0 +1,66 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
: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;
}
#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;
}
#PersonalToolbar {
padding: 6px !important;
box-shadow: inset 0 0 50vh rgba(0, 0, 0, var(--uc-darken-toolbar)) !important;;
}
#statuspanel #statuspanel-label {
border: none !important;
border-radius: var(--uc-border-radius) !important;
}
'';
}

View file

@ -0,0 +1,52 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
#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 * {
padding-block-start: var(--uc-urlbar-top-spacing) !important;
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; }
.urlbar-page-action .urlbar-icon { margin-top: 6px !important; }
'';
}

View file

@ -0,0 +1,14 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
@media (min-width: 1000px) {
#nav-bar { margin: calc((var(--urlbar-min-height) * -1) - 12px) calc(100vw - var(--uc-urlbar-min-width)) 0 0 !important; }
#titlebar { margin-inline-start: var(--uc-urlbar-min-width) !important; }
#navigator-toolbox:focus-within #nav-bar { margin: calc((var(--urlbar-min-height) * -1) - 12px) calc(100vw - var(--uc-urlbar-max-width)) 0 0 !important; }
#navigator-toolbox:focus-within #titlebar { margin-inline-start: var(--uc-urlbar-max-width) !important; }
}
'';
}

View file

@ -0,0 +1,160 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
/* remove gap after pinned tabs */
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) { margin-inline-start: 0 !important; }
/* Hides the list-all-tabs button*/
#alltabs-button { display: var(--uc-show-all-tabs-button) !important; }
/* remove tab shadow */
.tabbrowser-tab
>.tab-stack
> .tab-background { box-shadow: none !important; }
/* multi tab selection */
#tabbrowser-tabs:not([noshadowfortests]) .tabbrowser-tab:is([multiselected])
> .tab-stack
> .tab-background:-moz-lwtheme { outline-color: var(--toolbarseparator-color) !important; }
/* tab close button options */
.tabbrowser-tab:not([pinned]) .tab-close-button { display: var(--show-tab-close-button) !important; }
.tabbrowser-tab:not([pinned]):hover .tab-close-button { display: var(--show-tab-close-button-hover) !important }
/* adaptive tab width */
.tabbrowser-tab[selected][fadein]:not([pinned]) { max-width: var(--uc-active-tab-width) !important; }
.tabbrowser-tab[fadein]:not([selected]):not([pinned]) { max-width: var(--uc-inactive-tab-width) !important; }
/* container tabs indicator */
.tabbrowser-tab[usercontextid]
> .tab-stack
> .tab-background
> .tab-context-line {
margin: -1px var(--container-tabs-indicator-margin) 0 var(--container-tabs-indicator-margin) !important;
height: 1px !important;
box-shadow: var(--uc-identity-glow) var(--identity-tab-color) !important;
}
/* show favicon when media is playing but tab is hovered */
.tab-icon-image:not([pinned]) { opacity: 1 !important; }
/* Makes the speaker icon to always appear if the tab is playing (not only on hover) */
.tab-icon-overlay:not([crashed]),
.tab-icon-overlay[pinned][crashed][selected] {
top: 5px !important;
z-index: 1 !important;
padding: 1.5px !important;
inset-inline-end: -8px !important;
width: 16px !important; height: 16px !important;
border-radius: 10px !important;
}
/* style and position speaker icon */
.tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
stroke: transparent !important;
background: transparent !important;
opacity: 1 !important; fill-opacity: 0.8 !important;
color: currentColor !important;
stroke: var(--toolbar-bgcolor) !important;
background-color: var(--toolbar-bgcolor) !important;
}
/* change the colours of the speaker icon on active tab to match tab colours */
.tabbrowser-tab[selected] .tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
stroke: var(--toolbar-bgcolor) !important;
background-color: var(--toolbar-bgcolor) !important;
}
.tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) { margin-inline-end: 9.5px !important; }
.tabbrowser-tab:not([image]) .tab-icon-overlay:not([pinned], [sharing], [crashed]) {
top: 0 !important;
padding: 0 !important;
margin-inline-end: 5.5px !important;
inset-inline-end: 0 !important;
}
.tab-icon-overlay:not([crashed])[soundplaying]:hover,
.tab-icon-overlay:not([crashed])[muted]:hover,
.tab-icon-overlay:not([crashed])[activemedia-blocked]:hover {
color: currentColor !important;
stroke: var(--toolbar-color) !important;
background-color: var(--toolbar-color) !important;
fill-opacity: 0.95 !important;
}
.tabbrowser-tab[selected] .tab-icon-overlay:not([crashed])[soundplaying]:hover,
.tabbrowser-tab[selected] .tab-icon-overlay:not([crashed])[muted]:hover,
.tabbrowser-tab[selected] .tab-icon-overlay:not([crashed])[activemedia-blocked]:hover {
color: currentColor !important;
stroke: var(--toolbar-color) !important;
background-color: var(--toolbar-color) !important;
fill-opacity: 0.95 !important;
}
/* speaker icon colour fix */
#TabsToolbar .tab-icon-overlay:not([crashed])[soundplaying],
#TabsToolbar .tab-icon-overlay:not([crashed])[muted],
#TabsToolbar .tab-icon-overlay:not([crashed])[activemedia-blocked] { color: var(--toolbar-color) !important; }
/* speaker icon colour fix on hover */
#TabsToolbar .tab-icon-overlay:not([crashed])[soundplaying]:hover,
#TabsToolbar .tab-icon-overlay:not([crashed])[muted]:hover,
#TabsToolbar .tab-icon-overlay:not([crashed])[activemedia-blocked]:hover { color: var(--toolbar-bgcolor) !important; }
/* selected tab colour fix*/
.tabbrowser-tab[selected] .tab-content {
background-color: var(--uc-highlight-colour) !important;
}
'';
}

View file

@ -0,0 +1,42 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
#TabsToolbar { display: none !important; }
#nav-bar { width: 100vw !important; }
#browser { position: relative; }
#sidebar-box[sidebarcommand*="tabcenter"] #sidebar-header { display: none; }
#sidebar-box[sidebarcommand*="tabcenter"]:not([hidden]) {
display: block;
position: absolute;
top: 0; bottom: 0;
z-index: 1;
min-width: 50px !important; max-width: 50px !important;
border-right: none;
transition: all 0.2s ease;
overflow: hidden;
}
[sidebarcommand*="tabcenter"] #sidebar,
#sidebar-box[sidebarcommand*="tabcenter"]:hover { min-width: 10vw !important; width: 30vw !important; max-width: 250px !important; }
[sidebarcommand*="tabcenter"] #sidebar { height: 100%; max-height: 100%; }
#sidebar-box[sidebarcommand*="tabcenter"]:not([hidden]) ~ #appcontent { margin-left: 50px; }
#main-window[inFullscreen][inDOMFullscreen] #appcontent { margin-left: 0; }
/* Removes gap between active tab highlight and edge of bar */
#sidebar-box[sidebarcommand="tabcenter-reborn_ariasuni-sidebar-action"] #sidebar-header, #sidebar-box[sidebarcommand="tabcenter-reborn_ariasuni-sidebar-action"] ~ #sidebar-splitter {
display: none;
}
'';
}

View file

@ -0,0 +1,9 @@
{ ... }:
{
programs.firefox.profiles.dragora.userChrome = ''
* {
font-family: "JetBrainsMono Nerd Font" !important;
font-size: 12pt !important;
}
'';
}

View file

@ -0,0 +1,32 @@
{ ... }:
let
repo = "https://github.com/axax-loll/fuji-wallpapers/blob/main";
in
{
programs.firefox.profiles.dragora.userContent = ''
@-moz-document url(about:home), url(about:newtab), url(about:privatebrowsing) {
.click-target-container *, .top-sites-list * {
color: #fff !important ;
text-shadow: 2px 2px 2px #222 !important ;
}
body::before {
content: "" ;
z-index: -1 ;
position: fixed ;
top: 0 ;
left: 0 ;
background: #0F0F0F no-repeat url("${repo}/synth.png?raw=true") center ;
background-size: cover ;
width: 100vw ;
height: 100vh ;
}
.logo { background-image: url("${repo}/logo.png?raw=true") !important; }
.search-wrapper input { background: #0F0F0F !important; }
#PlacesToolbarItems {
width: 100%;
display: flex;
justify-content: center;
}
}
'';
}

View file

@ -0,0 +1,8 @@
{
imports = [
./cascade
./chrome.nix
./content.nix
];
}

View file

@ -0,0 +1,439 @@
{ config, ... }:
{
programs.firefox.profiles.dragora.userChrome = with config.lib.stylix.colors; ''
/*========================================================================================================*
+-----+-----+-----+-----+-----+-----+-----+
| | | | | | | |
| | || | | | |
+-----+-----+-----+-----+-----+-----+-----+ Mouse Edition.
Description: Cascade, Mouse Edition, is a Firefox Style based on the Cascade theme by Andreas Grafen
What you get is a really simple one-line layout using the new Proton UI.
The original Cascade Theme by Andreas Grafen was based on SimpleFox :
> SimpleFox: https://github.com/migueravila/SimpleFox
Authors: Andreas Grafen (original cascade theme)
(https://andreas.grafen.info)
Clément Rambaud (minor tweaks on the original file)
Repository: https://github.com/andreasgrafen/cascade
https://github.com/crambaud/cascade
*========================================================================================================*/
/*---+---+---+---+---+---+
| C | O | N | F | I | G |
+---+---+---+---+---+---*/
/* Feel free to tweak the following
* config settingsto your own liking. */
:root {
/*---+---+---+---+---+---+---+
| C | O | L | O | U | R | S |
+---+---+---+---+---+---+---*/
/* Comment the color theme you don't want to use */
/* Dark Theme Colors */
--window-colour: #${base00};
--secondary-colour: #${base01};
--inverted-colour: #${base07};
/* Light Theme Colors
--window-colour: #FAFAFC;
--secondary-colour: #EAEAEC;
--inverted-colour: #1E2021;
*/
/* Containter Tab Colours */
--uc-identity-colour-blue: #${base0D};
--uc-identity-colour-turquoise: #${base0C};
--uc-identity-colour-green: #${base0B};
--uc-identity-colour-yellow: #${base09};
--uc-identity-colour-orange: #${base0A};
--uc-identity-colour-red: #${base08};
--uc-identity-colour-pink: #${base0F};
--uc-identity-colour-purple: #${base0E};
/* URL colour in URL bar suggestions */
--urlbar-popup-url-color: var(--uc-identity-color-purple) !important;
/*---+---+---+---+---+---+---+
| V | I | S | U | A | L | S |
+---+---+---+---+---+---+---*/
/* global border radius */
--uc-border-radius: 16;
/* dynamic url bar width settings */
--uc-urlbar-width: clamp(250px, 50vw, 500px);
/* dynamic tab width settings */
--uc-active-tab-width: clamp( 50px, 18vw, 170px);
--uc-inactive-tab-width: clamp( 50px, 15vw, 90px);
/* if active always shows the tab close button */
--show-tab-close-button: none; /* DEFAULT: -moz-inline-box; */
/* if active only shows the tab close button on hover*/
--show-tab-close-button-hover: none; /* DEFAULT: -moz-inline-box; */
/* adds left and right margin to the container-tabs indicator */
--container-tabs-indicator-margin: 0px;
}
/*---+---+---+---+---+---+---+
| B | U | T | T | O | N | S |
+---+---+---+---+---+---+---*/
/* showing only the back button */
#back-button{ display: -moz-inline-box !important; }
#forward-button{ display: none !important; }
#stop-button{ display: none !important; }
#reload-button{ display: none !important; }
/* bookmark icon */
#star-button{ display: none !important; }
/* zoom indicator */
#urlbar-zoom-button { display: none !important; }
/* Show Hamburger Menu */
#PanelUI-button { display: -moz-inline-box !important;}
#reader-mode-button{ display: none !important; }
/* tracking protection shield icon */
#tracking-protection-icon-container { display: none !important; }
/* #identity-box { display: none !important } /* hides encryption AND permission items */
#identity-permission-box { display: none !important; } /* only hides permission items */
/* e.g. playing indicator (secondary - not icon) */
.tab-secondary-label { display: none !important; }
#pageActionButton { display: none !important; }
#page-action-buttons { display: none !important; }
/*=============================================================================================*/
/*---+---+---+---+---+---+
| L | A | Y | O | U | T |
+---+---+---+---+---+---*/
/* No need to change anything below this comment.
* Just tweak it if you want to tweak the overall layout. c: */
:root {
--uc-theme-colour: var(--window-colour);
--uc-hover-colour: var(--secondary-colour);
--uc-inverted-colour: var(--inverted-colour);
--button-bgcolor: var(--uc-theme-colour) !important;
--button-hover-bgcolor: var(--uc-hover-colour) !important;
--button-active-bgcolor: var(--uc-hover-colour) !important;
--toolbar-bgcolor: var(--uc-theme-colour) !important;
--toolbarbutton-hover-background: var(--uc-hover-colour) !important;
--toolbarbutton-active-background: var(--uc-hover-colour) !important;
--toolbarbutton-border-radius: var(--uc-border-radius) !important;
--lwt-toolbar-field-focus: var(--uc-theme-colour) !important;
--toolbarbutton-icon-fill: var(--uc-inverted-colour) !important;
--toolbar-field-focus-background-color: var(--secondary-colour) !important;
--toolbar-field-color: var(--uc-inverted-colour) !important;
--toolbar-field-focus-color: var(--uc-inverted-colour) !important;
--tabs-border-color: var(--uc-theme-colour) !important;
--tab-border-radius: var(--uc-border-radius) !important;
--lwt-text-color: var(--uc-inverted-colour) !important;
--lwt-tab-text: var(--uc-inverted-colour) !important;
--lwt-sidebar-background-color: var(--uc-hover-colour) !important;
--lwt-sidebar-text-color: var(--uc-inverted-colour) !important;
--arrowpanel-border-color: var(--uc-theme-colour) !important;
--arrowpanel-border-radius: var(--uc-border-radius) !important;
--arrowpanel-background: var(--uc-theme-colour) !important;
--arrowpanel-color: var(--inverted-colour) !important;
--autocomplete-popup-highlight-background: var(--uc-inverted-colour) !important;
--autocomplete-popup-highlight-color: var(--uc-inverted-colour) !important;
--autocomplete-popup-hover-background: var(--uc-inverted-colour) !important;
--tab-block-margin: 2px !important;
}
window,
#main-window,
#toolbar-menubar,
#TabsToolbar,
#PersonalToolbar,
#navigator-toolbox,
#sidebar-box,
#nav-bar {
-moz-appearance: none !important;
border: none !important;
box-shadow: none !important;
background: var(--uc-theme-colour) !important;
}
/* grey out ccons inside the toolbar to make it
* more aligned with the Black & White colour look */
#PersonalToolbar toolbarbutton:not(:hover),
#bookmarks-toolbar-button:not(:hover) { filter: grayscale(1) !important; }
/* Show Window Control Button */
.titlebar-buttonbox-container { display: -moz-inline-box !important; }
/* remove "padding" left and right from tabs */
.titlebar-spacer { display: none !important; }
/* remove gap after pinned tabs */
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs])
> #tabbrowser-arrowscrollbox
> .tabbrowser-tab[first-visible-unpinned-tab] { margin-inline-start: 0 !important; }
/* remove tab shadow */
.tabbrowser-tab
>.tab-stack
> .tab-background { box-shadow: none !important; }
/* tab background */
.tabbrowser-tab
> .tab-stack
> .tab-background { background: var(--uc-theme-colour) !important; }
/* active tab background */
.tabbrowser-tab[selected]
> .tab-stack
> .tab-background { background: var(--uc-hover-colour) !important; }
/* tab close button options */
.tabbrowser-tab:not([pinned]) .tab-close-button { display: var(--show-tab-close-button) !important; }
.tabbrowser-tab:not([pinned]):hover .tab-close-button { display: var(--show-tab-close-button-hover) !important }
/* adaptive tab width */
.tabbrowser-tab[selected][fadein]:not([pinned]) { max-width: var(--uc-active-tab-width) !important; }
.tabbrowser-tab[fadein]:not([selected]):not([pinned]) { max-width: var(--uc-inactive-tab-width) !important; }
/* container tabs indicator */
.tabbrowser-tab[usercontextid]
> .tab-stack
> .tab-background
> .tab-context-line {
margin: -1px var(--container-tabs-indicator-margin) 0 var(--container-tabs-indicator-margin) !important;
border-radius: var(--tab-border-radius) !important;
}
/* show favicon when media is playing but tab is hovered */
.tab-icon-image:not([pinned]) { opacity: 1 !important; }
/* Makes the speaker icon to always appear if the tab is playing (not only on hover) */
.tab-icon-overlay:not([crashed]),
.tab-icon-overlay[pinned][crashed][selected] {
top: 5px !important;
z-index: 1 !important;
padding: 1.5px !important;
inset-inline-end: -8px !important;
width: 16px !important; height: 16px !important;
border-radius: 10px !important;
}
/* style and position speaker icon */
.tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
stroke: transparent !important;
background: transparent !important;
opacity: 1 !important; fill-opacity: 0.8 !important;
color: currentColor !important;
stroke: var(--uc-theme-colour) !important;
background-color: var(--uc-theme-colour) !important;
}
/* change the colours of the speaker icon on active tab to match tab colours */
.tabbrowser-tab[selected] .tab-icon-overlay:not([sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
stroke: var(--uc-hover-colour) !important;
background-color: var(--uc-hover-colour) !important;
}
.tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) { margin-inline-end: 9.5px !important; }
.tabbrowser-tab:not([image]) .tab-icon-overlay:not([pinned], [sharing], [crashed]) {
top: 0 !important;
padding: 0 !important;
margin-inline-end: 5.5px !important;
inset-inline-end: 0 !important;
}
.tab-icon-overlay:not([crashed])[soundplaying]:hover,
.tab-icon-overlay:not([crashed])[muted]:hover,
.tab-icon-overlay:not([crashed])[activemedia-blocked]:hover {
color: currentColor !important;
stroke: var(--uc-inverted-colour) !important;
background-color: var(--uc-inverted-colour) !important;
fill-opacity: 0.95 !important;
}
.tabbrowser-tab[selected] .tab-icon-overlay:not([crashed])[soundplaying]:hover,
.tabbrowser-tab[selected] .tab-icon-overlay:not([crashed])[muted]:hover,
.tabbrowser-tab[selected] .tab-icon-overlay:not([crashed])[activemedia-blocked]:hover {
color: currentColor !important;
stroke: var(--uc-inverted-colour) !important;
background-color: var(--uc-inverted-colour) !important;
fill-opacity: 0.95 !important;
}
/* speaker icon colour fix */
#TabsToolbar .tab-icon-overlay:not([crashed])[soundplaying],
#TabsToolbar .tab-icon-overlay:not([crashed])[muted],
#TabsToolbar .tab-icon-overlay:not([crashed])[activemedia-blocked] { color: var(--uc-inverted-colour) !important; }
/* speaker icon colour fix on hover */
#TabsToolbar .tab-icon-overlay:not([crashed])[soundplaying]:hover,
#TabsToolbar .tab-icon-overlay:not([crashed])[muted]:hover,
#TabsToolbar .tab-icon-overlay:not([crashed])[activemedia-blocked]:hover { color: var(--uc-theme-colour) !important; }
#nav-bar {
border: none !important;
box-shadow: none !important;
background: transparent !important;
}
/* remove border below whole nav */
#navigator-toolbox { border-bottom: none !important; }
#urlbar,
#urlbar * { box-shadow: none !important; }
#urlbar-background { border: var(--uc-hover-colour) !important; }
#urlbar[focused="true"]
> #urlbar-background,
#urlbar:not([open])
> #urlbar-background { background: transparent !important; }
#urlbar[open]
> #urlbar-background { background: var(--uc-theme-colour) !important; }
.urlbarView-row:hover
> .urlbarView-row-inner,
.urlbarView-row[selected]
> .urlbarView-row-inner { background: var(--uc-hover-colour) !important; }
/* transition to oneline */
@media (min-width: 1000px) {
/* move tabs bar over */
#TabsToolbar { margin-left: var(--uc-urlbar-width) !important; }
/* move entire nav bar */
#nav-bar { margin: calc((var(--urlbar-min-height) * -1) - 8px) calc(100vw - var(--uc-urlbar-width)) 0 0 !important; }
} /* end media query */
/* Container Tabs */
.identity-color-blue { --identity-tab-color: var(--uc-identity-color-blue) !important; --identity-icon-color: var(--uc-identity-color-blue) !important; }
.identity-color-turquoise { --identity-tab-color: var(--uc-identity-color-turquoise) !important; --identity-icon-color: var(--uc-identity-color-turquoise) !important; }
.identity-color-green { --identity-tab-color: var(--uc-identity-color-green) !important; --identity-icon-color: var(--uc-identity-color-green) !important; }
.identity-color-yellow { --identity-tab-color: var(--uc-identity-color-yellow) !important; --identity-icon-color: var(--uc-identity-color-yellow) !important; }
.identity-color-orange { --identity-tab-color: var(--uc-identity-color-orange) !important; --identity-icon-color: var(--uc-identity-color-orange) !important; }
.identity-color-red { --identity-tab-color: var(--uc-identity-color-red) !important; --identity-icon-color: var(--uc-identity-color-red) !important; }
.identity-color-pink { --identity-tab-color: var(--uc-identity-color-pink) !important; --identity-icon-color: var(--uc-identity-color-pink) !important; }
.identity-color-purple { --identity-tab-color: var(--uc-identity-color-purple) !important; --identity-icon-color: var(--uc-identity-color-purple) !important; }
'';
}