From 2c18755ee76a1f6421c1c2bfe44a4424c6cbfb91 Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Mon, 9 Feb 2026 09:47:58 -0500 Subject: [PATCH] switch back to firefox and use searxng --- flake.nix | 1 + home/apps/default.nix | 2 +- home/apps/{librewolf.nix => firefox.nix} | 100 +++-- home/apps/firefox_css/theme/hide.css | 37 ++ home/apps/firefox_css/theme/theme.css | 392 ++++++++++++++++++ .../userChrome.css | 0 home/apps/librewolf_css/theme/hide.css | 15 - home/apps/librewolf_css/theme/theme.css | 56 --- home/games/morrowind.nix | 2 +- home/kde/default.nix | 2 +- home/tiling/niri.nix | 2 +- system/searxng/default.nix | 134 ++++++ system/widevine/default.nix | 4 +- 13 files changed, 643 insertions(+), 104 deletions(-) rename home/apps/{librewolf.nix => firefox.nix} (76%) create mode 100644 home/apps/firefox_css/theme/hide.css create mode 100644 home/apps/firefox_css/theme/theme.css rename home/apps/{librewolf_css => firefox_css}/userChrome.css (100%) delete mode 100644 home/apps/librewolf_css/theme/hide.css delete mode 100644 home/apps/librewolf_css/theme/theme.css create mode 100644 system/searxng/default.nix diff --git a/flake.nix b/flake.nix index 65d8c54..1137c1f 100644 --- a/flake.nix +++ b/flake.nix @@ -208,6 +208,7 @@ }; } ./system + ./system/searxng ./system/widevine ./system/shell/fish.nix ./system/tailscale diff --git a/home/apps/default.nix b/home/apps/default.nix index 280bc95..69a251c 100644 --- a/home/apps/default.nix +++ b/home/apps/default.nix @@ -1,7 +1,7 @@ { imports = [ ./discord.nix - ./librewolf.nix + ./firefox.nix ./mpv.nix # ./vscode.nix ]; diff --git a/home/apps/librewolf.nix b/home/apps/firefox.nix similarity index 76% rename from home/apps/librewolf.nix rename to home/apps/firefox.nix index 7f549ff..8ed3f36 100644 --- a/home/apps/librewolf.nix +++ b/home/apps/firefox.nix @@ -6,13 +6,13 @@ ... }: { - home.file.".librewolf/default/chrome/" = { - source = ./librewolf_css; + home.file.".mozilla/firefox/default/chrome/" = { + source = ./firefox_css; force = true; recursive = true; }; - home.file.".librewolf/default/chrome/colors.css" = with config.scheme.withHashtag; { + home.file.".mozilla/firefox/default/chrome/colors.css" = with config.scheme.withHashtag; { text = '' * { --accent: ${config.scheme.withHashtag.${config.colors.accent}}; @@ -86,9 +86,9 @@ }; }; }; - librewolf = { + firefox = { enable = true; - package = pkgs.librewolf.override { + package = pkgs.firefox.override { nativeMessagingHosts = with pkgs; [ firefoxpwa ]; @@ -113,7 +113,6 @@ "{446900e4-71c2-419f-a6a7-df9c091e268b}".installation_mode = "allowed"; "CanvasBlocker@kkapsner.de".installation_mode = "allowed"; "shinigamieyes@shinigamieyes".installation_mode = "allowed"; - # "".installation_mode = "allowed"; }; DisableTelemetry = true; DisableFirefoxStudies = true; @@ -124,8 +123,8 @@ Fingerprinting = true; }; DisablePocket = true; - DisableFirefoxAccounts = false; - DisableAccounts = false; + DisableFirefoxAccounts = true; + DisableAccounts = true; DisableFirefoxScreenshots = true; OverrideFirstRunPage = ""; OverridePostUpdatePage = ""; @@ -169,8 +168,8 @@ "xpinstall.signatures.required" = false; "extensions.update.autoUpdateDefault" = false; "extensions.update.enabled" = false; - "browser.search.defaultenginename" = "google"; - "browser.search.order.1" = "google"; + "browser.search.defaultenginename" = "searxng"; + "browser.search.order.1" = "searxng"; "browser.toolbars.bookmarks.visibility" = "newtab"; "signon.rememberSignons" = false; @@ -207,6 +206,8 @@ "browser.newtabpage.activity-stream.system.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showWeather" = false; + "browser.download.autoHideButton" = false; + "browser.startup.homepage" = "http://localhost:8080/"; # Disable Firefox's machine learning (AI) features "browser.ml.enable" = false; @@ -218,16 +219,61 @@ # Vertical tabs "sidebar.verticalTabs" = true; "sidebar.verticalTabs.dragToPinPromo.dismissed" = true; - "browser.uiCustomization.navBarWhenVerticalTabs" = [ - "back-button" - "forward-button" - "stop-reload-button" - "reload-button" - "urlbar-container" - "downloads-button" - "unified-extensions-button" - "fxa-toolbar-menu-button" - ]; + "browser.uiCustomization.state" = { + placements = { + widget-overflow-fixed-list = [ ]; + unified-extensions-area = [ + "sponsorblocker_ajay_app-browser-action" + "ublock0_raymondhill_net-browser-action" + "jid1-mnnxcxisbpnsxq_jetpack-browser-action" + "gdpr_cavi_au_dk-browser-action" + "firefoxpwa_filips_si-browser-action" + "plasma-browser-integration_kde_org-browser-action" + "canvasblocker_kkapsner_de-browser-action" + "_5cce4ab5-3d47-41b9-af5e-8203eea05245_-browser-action" + "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" + "_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action" + "_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action" + ]; + nav-bar = [ + # "sidebar-button" + "back-button" + "forward-button" + "stop-reload-button" + "urlbar-container" + "unified-extensions-button" + "downloads-button" + ]; + toolbar-menubar = [ "menubar-items" ]; + TabsToolbar = [ ]; + vertical-tabs = [ "tabbrowser-tabs" ]; + PersonalToolbar = [ "personal-bookmarks" ]; + }; + seen = [ + "gdpr_cavi_au_dk-browser-action" + "firefoxpwa_filips_si-browser-action" + "plasma-browser-integration_kde_org-browser-action" + "jid1-mnnxcxisbpnsxq_jetpack-browser-action" + "canvasblocker_kkapsner_de-browser-action" + "_5cce4ab5-3d47-41b9-af5e-8203eea05245_-browser-action" + "ublock0_raymondhill_net-browser-action" + "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" + "_aecec67f-0d10-4fa7-b7c7-609a2db280cf_-browser-action" + "_7a7a4a92-a2a0-41d1-9fd7-1e92480d612d_-browser-action" + "sponsorblocker_ajay_app-browser-action" + "developer-button" + ]; + dirtyAreaCache = [ + "unified-extensions-area" + "nav-bar" + "TabsToolbar" + "vertical-tabs" + "PersonalToolbar" + "toolbar-menubar" + ]; + currentVersion = 23; + newElementCount = 1; + }; "privacy.resistFingerprinting" = false; "privacy.clearOnShutdown.history" = false; @@ -257,13 +303,13 @@ search = let nixIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/nix-snowflake.svg"; - googleIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/google.svg"; + searchIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid-Dark/places/symbolic/folder-saved-search-symbolic.svg"; in { force = true; - default = "google"; + default = "searxng"; order = [ - "google" + "searxng" ]; engines = { nix-packages = { @@ -317,10 +363,10 @@ definedAliases = [ "@nw" ]; }; - google = { - name = "Google"; - urls = [ { template = "https://google.com/search?q={searchTerms}"; } ]; - icon = googleIcon; + searxng = { + name = "SearXNG"; + urls = [ { template = "http://localhost:8080/search?q={searchTerms}"; } ]; + icon = searchIcon; definedAliases = [ "@go" ]; }; diff --git a/home/apps/firefox_css/theme/hide.css b/home/apps/firefox_css/theme/hide.css new file mode 100644 index 0000000..b959fa3 --- /dev/null +++ b/home/apps/firefox_css/theme/hide.css @@ -0,0 +1,37 @@ +#tracking-protection-icon-container { + display: none; +} + +.bookmark-item[container] { + list-style-image: url("chrome://global/skin/dirListing/folder.png") !important; +} + +#toolbar-menubar { + display: none !important; +} + +#menubar-items { + visibility: hidden !important; +} + +.browserSidebarContainer { + border: 0px solid var(--surface0) !important; + border-radius: 4px !important; + background-color: var(--mantle) !important; + overflow: hidden !important; +} + +.browserContainer { + border: 0px !important; + margin-top: 8px !important; + margin-left: 8px !important; + margin-right: 8px !important; + margin-bottom: 8px !important; + background-color: var(--mantle) !important; + border-radius: 2px !important; +} + +.browserStack { + border-radius: 2px !important; + background-color: var(--base) !important; +} diff --git a/home/apps/firefox_css/theme/theme.css b/home/apps/firefox_css/theme/theme.css new file mode 100644 index 0000000..6ee9279 --- /dev/null +++ b/home/apps/firefox_css/theme/theme.css @@ -0,0 +1,392 @@ +@import "../colors.css"; + +/* ======================================================================== + global variables + ======================================================================== */ +:root { + /* arrow panels */ + --arrowpanel-background: var(--surface0) !important; + --arrowpanel-border-color: var(--surface1) !important; + --arrowpanel-color: var(--text) !important; + --arrowpanel-dimmed-even-further: var(--overlay0) !important; + --arrowpanel-dimmed-further: var(--subtext1) !important; + --arrowpanel-dimmed: var(--subtext0) !important; + --default-arrowpanel-background: var(--surface0) !important; + --default-arrowpanel-border-color: var(--surface1) !important; + --default-arrowpanel-color: var(--text) !important; + + /* autocomplete & popups */ + --autocomplete-popup-background: var(--mantle) !important; + --autocomplete-popup-color: var(--text) !important; + --autocomplete-popup-highlight-background: var(--surface1) !important; + --autocomplete-popup-highlight-color: var(--text) !important; + --urlbar-popup-action-color: var(--accent) !important; + --urlbar-popup-url-color: var(--blue) !important; + --urlbar-separator-color: var(--surface0) !important; + + /* buttons (global) */ + --backbutton-active-background: var(--surface1) !important; + --backbutton-background: transparent !important; + --backbutton-border-color: transparent !important; + --backbutton-hover-background: var(--surface0) !important; + --cfr-active-color: var(--accent) !important; + --cfr-button-addons-icon: var(--text) !important; + --cfr-button-features-icon: var(--text) !important; + + /* color palette (blue) */ + --blue-40-a10: color-mix(in srgb, var(--blue), transparent 90%) !important; + --blue-40: var(--blue) !important; + --blue-50-a30: color-mix(in srgb, var(--blue), transparent 70%) !important; + --blue-50: var(--blue) !important; + --blue-60: var(--sapphire) !important; + --blue-70: var(--sky) !important; + --blue-80: var(--teal) !important; + + /* color palette (green) */ + --green-50: var(--green) !important; + --green-60: var(--green) !important; + --green-70: var(--teal) !important; + --green-80: var(--teal) !important; + --green-90: var(--teal) !important; + + /* color palette (grey/overlay) */ + --grey-20: var(--subtext1) !important; + --grey-30: var(--subtext0) !important; + --grey-40: var(--overlay2) !important; + --grey-60: var(--overlay0) !important; + --grey-70: var(--overlay2) !important; + --grey-80: var(--overlay2) !important; + --grey-90-a10: color-mix( + in srgb, + var(--surface1), + transparent 90% + ) !important; + --grey-90-a20: color-mix( + in srgb, + var(--surface1), + transparent 80% + ) !important; + --grey-90-a30: color-mix( + in srgb, + var(--surface1), + transparent 70% + ) !important; + --grey-90-a50: color-mix( + in srgb, + var(--surface1), + transparent 50% + ) !important; + --grey-90-a60: color-mix( + in srgb, + var(--surface1), + transparent 40% + ) !important; + --grey-90: var(--surface1) !important; + + /* color palette (misc) */ + --orange-50: var(--peach) !important; + --purple-70: var(--mauve) !important; + + /* color palette (red) */ + --red-50-a30: color-mix(in srgb, var(--red), transparent 70%) !important; + --red-50: var(--red) !important; + --red-60: var(--maroon) !important; + --red-70: var(--maroon) !important; + --red-80: var(--maroon) !important; + --red-90: var(--maroon) !important; + + /* color palette (yellow) */ + --yellow-10: var(--yellow) !important; + --yellow-50: var(--yellow) !important; + --yellow-60-a30: color-mix( + in srgb, + var(--yellow), + transparent 70% + ) !important; + --yellow-60: var(--yellow) !important; + --yellow-70: var(--peach) !important; + --yellow-80: var(--peach) !important; + --yellow-90: var(--peach) !important; + + /* context menus */ + --menu-background-color: var(--base) !important; + --menu-border-color: var(--surface1) !important; + --menu-color: var(--text) !important; + --menu-disabled-color: var(--overlay0) !important; + --menu-icon-opacity: 1 !important; + --menuitem-disabled-hover-background-color: transparent !important; + --menuitem-hover-background-color: var(--surface1) !important; + --panel-disabled-color: var(--overlay0) !important; + --panel-separator-color: var(--surface0) !important; + + /* in-content ui (cards & boxes) */ + --card-outline-color: var(--surface1) !important; + --card-shadow-focus: 0 0 0 2px var(--accent) !important; + --card-shadow-hover: 0 4px 8px + color-mix(in srgb, var(--crust), transparent 80%) !important; + --card-shadow: 0 1px 4px color-mix(in srgb, var(--crust), transparent 90%) !important; + --in-content-box-background-active: var(--surface1) !important; + --in-content-box-background-hover: var(--surface1) !important; + --in-content-box-background-odd: var(--mantle) !important; + --in-content-box-background: var(--surface0) !important; + --in-content-box-border-color: var(--surface1) !important; + --in-content-box-info-background: var(--surface0) !important; + + /* in-content ui (colors & text) */ + --in-content-deemphasized-text: var(--subtext0) !important; + --in-content-link-color-active: var(--sky) !important; + --in-content-link-color-hover: var(--sapphire) !important; + --in-content-link-color-visited: var(--lavender) !important; + --in-content-link-color: var(--blue) !important; + --in-content-page-background: var(--base) !important; + --in-content-page-color: var(--text) !important; + --in-content-selected-text: var(--surface2) !important; + --in-content-text-color: var(--text) !important; + + /* in-content ui (forms & buttons) */ + --in-content-border-active-shadow: 0 0 0 2px var(--accent) !important; + --in-content-border-active: var(--accent) !important; + --in-content-border-color: var(--surface1) !important; + --in-content-border-focus: var(--accent) !important; + --in-content-border-highlight: var(--blue) !important; + --in-content-border-hover: var(--surface2) !important; + --in-content-border-invalid-shadow: 0 0 0 2px var(--red) !important; + --in-content-border-invalid: var(--red) !important; + --in-content-button-background-active: var(--surface1) !important; + --in-content-button-background-hover: var(--surface2) !important; + --in-content-button-background: var(--surface0) !important; + --in-content-category-background-active: var(--surface1) !important; + --in-content-category-background-hover: var(--surface0) !important; + --in-content-category-background-selected-active: var(--surface2) !important; + --in-content-category-background-selected-hover: var(--surface1) !important; + --in-content-category-outline-focus: var(--accent) !important; + --in-content-category-text-selected-active: var(--accent) !important; + --in-content-category-text-selected: var(--accent) !important; + --in-content-item-hover: var(--surface0) !important; + --in-content-item-selected: var(--surface1) !important; + --in-content-primary-button-background-active: var(--maroon) !important; + --in-content-primary-button-background-hover: var(--peach) !important; + --in-content-primary-button-background: var(--accent) !important; + + /* in-content ui (misc) */ + --chrome-content-separator-color: var(--surface0) !important; + --in-content-dialog-header-background: var(--mantle) !important; + --in-content-tab-color: var(--subtext0) !important; + --in-content-table-background: var(--mantle) !important; + --in-content-table-border-dark-color: var(--surface1) !important; + --in-content-table-header-background: var(--surface0) !important; + --in-content-warning-container: var(--red) !important; + --shadow-10: 0 1px 2px color-mix(in srgb, var(--crust), transparent 90%) !important; + --shadow-30: 0 4px 8px color-mix(in srgb, var(--crust), transparent 80%) !important; + + /* lightweight theme (lwt) */ + --lwt-accent-color: var(--accent) !important; + --lwt-sidebar-background-color: var(--mantle) !important; + --lwt-sidebar-text-color: var(--text) !important; + --lwt-text-color: var(--text) !important; + --lwt-toolbar-field-background-color: var(--crust) !important; + --lwt-toolbar-field-border-color: var(--surface0) !important; + --lwt-toolbar-field-color: var(--text) !important; + --lwt-toolbar-field-focus-color: var(--text) !important; + --lwt-toolbar-field-focus: var(--accent) !important; + --lwt-toolbarbutton-icon-fill: var(--text) !important; + + /* navigator tabs */ + --tab-line-color: var(--accent) !important; + --tab-loading-fill: var(--accent) !important; + --tabs-border-color: var(--surface0) !important; + + /* new tab page */ + --newtab-background-color: var(--base) !important; + --newtab-border-primary-color: var(--surface1) !important; + --newtab-border-secondary-color: var(--surface0) !important; + --newtab-button-primary-color: var(--accent) !important; + --newtab-button-secondary-color: var(--surface0) !important; + --newtab-card-active-outline-color: var(--accent) !important; + --newtab-card-background-color: var(--surface0) !important; + --newtab-card-hairline-color: var(--surface1) !important; + --newtab-card-placeholder-color: var(--surface1) !important; + --newtab-card-shadow: 0 1px 4px + color-mix(in srgb, var(--crust), transparent 80%) !important; + --newtab-contextmenu-background-color: var(--surface0) !important; + --newtab-contextmenu-button-color: var(--text) !important; + --newtab-element-active-color: var(--surface1) !important; + --newtab-element-hover-color: var(--surface0) !important; + --newtab-feed-button-background-faded: var(--surface1) !important; + --newtab-feed-button-background: var(--surface0) !important; + --newtab-feed-button-spinner: var(--text) !important; + --newtab-feed-button-text-faded: var(--subtext0) !important; + --newtab-feed-button-text: var(--text) !important; + --newtab-icon-primary-color: var(--text) !important; + --newtab-icon-secondary-color: var(--subtext0) !important; + --newtab-icon-tertiary-color: var(--overlay0) !important; + --newtab-inner-box-shadow-color: color-mix( + in srgb, + var(--crust), + transparent 80% + ) !important; + --newtab-link-primary-color: var(--blue) !important; + --newtab-link-secondary-color: var(--sapphire) !important; + --newtab-modal-color: var(--base) !important; + --newtab-overlay-color: color-mix( + in srgb, + var(--crust), + transparent 40% + ) !important; + --newtab-search-border-color: var(--surface0) !important; + --newtab-search-dropdown-color: var(--mantle) !important; + --newtab-search-dropdown-header-color: var(--subtext1) !important; + --newtab-search-header-background-color: var(--base) !important; + --newtab-search-icon-color: var(--text) !important; + --newtab-search-icon: var(--text) !important; + --newtab-search-wordmark-color: var(--text) !important; + --newtab-section-active-contextmenu-color: var(--text) !important; + --newtab-section-header-text-color: var(--text) !important; + --newtab-section-navigation-text-color: var(--subtext0) !important; + --newtab-snippets-background-color: var(--surface0) !important; + --newtab-snippets-hairline-color: var(--surface1) !important; + --newtab-text-conditional-color: var(--red) !important; + --newtab-text-primary-color: var(--text) !important; + --newtab-text-secondary-color: var(--subtext0) !important; + --newtab-textbox-background-color: var(--crust) !important; + --newtab-textbox-border: var(--surface0) !important; + --newtab-textbox-focus-boxshadow: 0 0 0 2px var(--accent) !important; + --newtab-textbox-focus-color: var(--accent) !important; + --newtab-topsites-background-color: var(--base) !important; + --newtab-topsites-icon-shadow: none !important; + --newtab-topsites-label-color: var(--text) !important; + --trailhead-card-button-background-active-color: var(--accent) !important; + --trailhead-card-button-background-color: var(--surface1) !important; + --trailhead-card-button-background-hover-color: var(--surface2) !important; + --trailhead-cards-background-color: var(--surface0) !important; + --trailhead-header-text-color: var(--text) !important; + + /* notifications */ + --short-notification-background: var(--surface0) !important; + --short-notification-gradient: linear-gradient( + var(--surface0), + var(--surface0) + ) !important; + + /* sidebar */ + --sidebar-background-color: var(--mantle) !important; + --sidebar-border-color: var(--surface0) !important; + --sidebar-text-color: var(--text) !important; + + /* toolbar & urlbar */ + --toolbar-bgcolor: var(--mantle) !important; + --toolbar-color: var(--text) !important; + --toolbar-field-focus-border-color: var(--accent) !important; + --toolbar-non-lwt-bgcolor: var(--mantle) !important; + --toolbar-non-lwt-textcolor: var(--text) !important; + --toolbarbutton-active-background: var(--surface1) !important; + --toolbarbutton-focus-outline: var(--accent) !important; + --toolbarbutton-hover-background: var(--surface0) !important; + --toolbarbutton-icon-fill-attention: var(--blue) !important; +} + +/* ======================================================================== + global component styles + ======================================================================== */ + +#sidebar-main > *[expanded] { + background-color: var(--mantle) !important; +} + +*, +:root { + accent-color: var(--accent) !important; +} + +#TabsToolbar { + background-color: var(--mantle) !important; +} + +#sidebar-launcher-splitter:hover { + background-color: var(--accent) !important; +} + +[_moz-menuactive="true"] { + background-color: var(--accent) !important; + color: var(--mantle) !important; +} + +menupopup { + --panel-background: var(--base) !important; + --panel-border-color: var(--surface1) !important; + --panel-text: var(--text) !important; +} + +menuseparator { + border-color: var(--surface1) !important; +} + +/* ======================================================================== + overrides & media queries + ======================================================================== */ +@media { + #PersonalToolbar, + #nav-bar { + background-color: var(--mantle) !important; + } + + :root { + /* browser tabs */ + .tab-background[multiselected] { + --focus-outline-color: var(--surface0); + } + + .tab-background[selected]:not([multiselected]) { + outline: 1px solid var(--surface0); + outline-offset: -1px; + } + + .tabbrowser-tab[selected="true"] .tab-background { + border: 1px solid var(--surface0) !important; + } + + #tabbrowser-tabs { + --tab-loading-fill: var(--text) !important; + } + + /* general variable overrides */ + --arrowpanel-background: var(--surface0) !important; + --arrowpanel-border-color: var(--surface0) !important; + --arrowpanel-color: var(--text) !important; + --chrome-content-separator-color: var(--surface0) !important; + --input-bgcolor: var(--crust) !important; + --input-border-color: var(--mantle) !important; + --input-color: var(--text) !important; + --tab-selected-bgcolor: var(--base) !important; + --tab-selected-textcolor: var(--text) !important; + --toolbar-bgcolor: var(--mantle) !important; + --toolbar-field-background-color: var(--input-bgcolor) !important; + --toolbar-field-border-color: var(--input-border-color) !important; + --toolbar-field-color: var(--input-color) !important; + --toolbar-field-focus-background-color: var(--base) !important; + --toolbar-field-focus-border-color: var(--surface0) !important; + --toolbarseparator-color: var(--text) !important; + --toolbox-non-lwt-bgcolor: var(--crust) !important; + --toolbox-non-lwt-textcolor: var(--text) !important; + + /* inputs & selection */ + #urlbar-input:focus::selection, + .searchbar-textbox:focus::selection { + background-color: var(--text); + color: var(--surface0); + } + + /* toolbar buttons */ + --toolbarbutton-active-background: var(--overlay0) !important; + --toolbarbutton-icon-fill: var(--text) !important; + --toolbarbutton-icon-fill-attention: var(--text) !important; + + /* urlbar */ + --urlbarView-highlight-background: var(--overlay0) !important; + --urlbarView-highlight-color: var(--text) !important; + + &:where([tabsintitlebar]) { + --toolbox-non-lwt-bgcolor-inactive: var(--crust) !important; + } + } +} diff --git a/home/apps/librewolf_css/userChrome.css b/home/apps/firefox_css/userChrome.css similarity index 100% rename from home/apps/librewolf_css/userChrome.css rename to home/apps/firefox_css/userChrome.css diff --git a/home/apps/librewolf_css/theme/hide.css b/home/apps/librewolf_css/theme/hide.css deleted file mode 100644 index ba7e3ca..0000000 --- a/home/apps/librewolf_css/theme/hide.css +++ /dev/null @@ -1,15 +0,0 @@ -#tracking-protection-icon-container { - display: none; -} - -.bookmark-item[container] { - list-style-image: url("chrome://global/skin/dirListing/folder.png") !important; -} - -#toolbar-menubar { - display: none !important; -} - -#menubar-items { - visibility: hidden !important; -} diff --git a/home/apps/librewolf_css/theme/theme.css b/home/apps/librewolf_css/theme/theme.css deleted file mode 100644 index 488676e..0000000 --- a/home/apps/librewolf_css/theme/theme.css +++ /dev/null @@ -1,56 +0,0 @@ -@import "../colors.css"; -@media { - #nav-bar, - #PersonalToolbar { - background-color: var(--mantle) !important; - } - :root { - .tabbrowser-tab[selected="true"] .tab-background { - border: 1px solid var(--surface0) !important; - } - --toolbar-bgcolor: var(--mantle) !important; - --toolbox-non-lwt-bgcolor: var(--crust) !important; - --toolbox-non-lwt-textcolor: var(--text) !important; - --input-bgcolor: var(--crust) !important; - --toolbar-field-background-color: var(--input-bgcolor) !important; - --input-color: var(--text) !important; - --toolbar-field-color: var(--input-color) !important; - .tab-background[selected]:not([multiselected]) { - outline: 1px solid var(--surface0); - outline-offset: -1px; - } - .tab-background[multiselected] { - --focus-outline-color: var(--surface0); - } - --arrowpanel-background: var(--surface0) !important; - --arrowpanel-color: var(--text) !important; - --toolbarbutton-active-background: var(--overlay0) !important; - &:where([tabsintitlebar]) { - --toolbox-non-lwt-bgcolor-inactive: var(--crust) !important; - } - --toolbarbutton-icon-fill-attention: var(--text) !important; - --toolbarbutton-icon-fill: var(--text) !important; - --arrowpanel-border-color: var(--surface0) !important; - --urlbarView-highlight-color: var(--text) !important; - --urlbarView-highlight-background: var(--overlay0) !important; - #tabbrowser-tabs { - --tab-loading-fill: var(--text) !important; - } - --tab-selected-bgcolor: var(--base) !important; - --tab-selected-textcolor: var(--text) !important; - --chrome-content-separator-color: var(--surface0) !important; - --toolbar-field-focus-border-color: var(--surface0) !important; - --input-border-color: var(--mantle) !important; - --toolbar-field-border-color: var(--input-border-color) !important; - --toolbar-field-focus-background-color: var(--base) !important; - #urlbar-input:focus::selection, - .searchbar-textbox:focus::selection { - color: var(--surface0); - } - #urlbar-input:focus::selection, - .searchbar-textbox:focus::selection { - background-color: var(--text); - } - --toolbarseparator-color: var(--text) !important; - } -} diff --git a/home/games/morrowind.nix b/home/games/morrowind.nix index 576325c..be92688 100644 --- a/home/games/morrowind.nix +++ b/home/games/morrowind.nix @@ -11,7 +11,7 @@ }; }; - programs.librewolf.profiles.default.search.engines.uesp = { + programs.firefox.profiles.default.search.engines.uesp = { name = "Unofficial Elder Scrolls Pages"; urls = [ { diff --git a/home/kde/default.nix b/home/kde/default.nix index 5adabe3..ce1437e 100644 --- a/home/kde/default.nix +++ b/home/kde/default.nix @@ -270,7 +270,7 @@ { iconTasks = { launchers = [ - "applications:librewolf.desktop" + "applications:firefox.desktop" "applications:org.kde.dolphin.desktop" "applications:vesktop.desktop" "applications:kitty.desktop" diff --git a/home/tiling/niri.nix b/home/tiling/niri.nix index c8e196d..431ba5a 100644 --- a/home/tiling/niri.nix +++ b/home/tiling/niri.nix @@ -143,7 +143,7 @@ { matches = [ { - app-id = "librewolf$"; + app-id = "firefox$"; title = "^Picture-in-Picture$"; } ]; diff --git a/system/searxng/default.nix b/system/searxng/default.nix new file mode 100644 index 0000000..09337d8 --- /dev/null +++ b/system/searxng/default.nix @@ -0,0 +1,134 @@ +{ + lib, + pkgs, + config, + ... +}: +{ + + services.searx = { + enable = true; + redisCreateLocally = true; + settings = { + server = { + secret_key = lib.removeSuffix "\n" ( + builtins.readFile ( + pkgs.runCommand "gen-key" { buildInputs = [ pkgs.openssl ]; } "openssl rand -hex 32 > $out" + ) + ); + port = 8080; + bind_address = "127.0.0.1"; + }; + + general = { + debug = false; + instance_name = "searxng: ${config.system.name}"; + donation_url = false; + contact_url = false; + privacypolicy_url = false; + enable_metrics = false; + }; + + ui = { + static_use_hash = true; + default_locale = "en"; + query_in_title = true; + infinite_scroll = false; + center_alignment = true; + default_theme = "simple"; + theme_args.simple_style = "auto"; + search_on_category_select = false; + hotkeys = "vim"; + }; + + search = { + safe_search = 2; + autocomplete_min = 2; + autocomplete = "duckduckgo"; + ban_time_on_fail = 5; + max_ban_time_on_fail = 120; + formats = [ + "html" + "json" + "rss" + ]; + }; + + engines = lib.mapAttrsToList (name: value: { inherit name; } // value) { + "duckduckgo".disabled = true; + "brave".disabled = true; + "bing".disabled = false; + "google".disabled = false; + "mojeek".disabled = true; + "mwmbl".disabled = false; + "mwmbl".weight = 0.4; + "qwant".disabled = true; + "crowdview".disabled = false; + "crowdview".weight = 0.5; + "curlie".disabled = true; + "ddg definitions".disabled = false; + "ddg definitions".weight = 2; + "wikibooks".disabled = false; + "wikidata".disabled = true; + "wikiquote".disabled = true; + "wikisource".disabled = true; + "wikispecies".disabled = false; + "wikispecies".weight = 0.5; + "wikiversity".disabled = false; + "wikiversity".weight = 0.5; + "wikivoyage".disabled = false; + "wikivoyage".weight = 0.5; + "currency".disabled = true; + "dictzone".disabled = true; + "lingva".disabled = true; + "bing images".disabled = false; + "brave.images".disabled = true; + "duckduckgo images".disabled = true; + "google images".disabled = false; + "qwant images".disabled = true; + "1x".disabled = true; + "artic".disabled = false; + "deviantart".disabled = false; + "flickr".disabled = true; + "imgur".disabled = false; + "library of congress".disabled = false; + "material icons".disabled = true; + "material icons".weight = 0.2; + "openverse".disabled = false; + "pinterest".disabled = true; + "svgrepo".disabled = false; + "unsplash".disabled = false; + "wallhaven".disabled = false; + "wikicommons.images".disabled = false; + "yacy images".disabled = true; + "bing videos".disabled = false; + "brave.videos".disabled = true; + "duckduckgo videos".disabled = true; + "google videos".disabled = false; + "qwant videos".disabled = false; + "dailymotion".disabled = true; + "google play movies".disabled = true; + "invidious".disabled = true; + "odysee".disabled = true; + "peertube".disabled = false; + "piped".disabled = true; + "rumble".disabled = false; + "sepiasearch".disabled = false; + "vimeo".disabled = true; + "youtube".disabled = false; + "brave.news".disabled = true; + "google news".disabled = true; + }; + + enabled_plugins = [ + "Basic Calculator" + "Hash plugin" + "Tor check plugin" + "Open Access DOI rewrite" + "Hostnames plugin" + "Unit converter plugin" + "Tracker URL remover" + ]; + }; + }; +} diff --git a/system/widevine/default.nix b/system/widevine/default.nix index 44ac343..df1aa78 100644 --- a/system/widevine/default.nix +++ b/system/widevine/default.nix @@ -8,7 +8,7 @@ { nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [ (final: prev: { - wrapLibrewolf = + wrapFirefox = browser: opts: let extraPrefs = (opts.extraPrefs or "") + '' @@ -22,7 +22,7 @@ widevineCdmDir = "${final.widevine-cdm}/share/google/chrome/WidevineCdm"; widevineOutDir = "$out/gmp-widevinecdm/system-installed"; in - (prev.wrapLibrewolf browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: { + (prev.wrapFirefox browser (opts // { inherit extraPrefs; })).overrideAttrs (previousAttrs: { buildCommand = previousAttrs.buildCommand + '' mkdir -p "${widevineOutDir}" ln -s "${widevineCdmDir}/_platform_specific/linux_arm64/libwidevinecdm.so" "${widevineOutDir}/libwidevinecdm.so"