diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-09-19 17:31:35 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-09-19 17:31:35 -0500 |
| commit | c9ec61f01a26cff66ef779f0b94694684a16d7da (patch) | |
| tree | 5c85649824fb783a63dc11b9df970b371f13e31f /modules/desktop | |
| parent | 5d0d346f838a7711fa79eb6edab828107b95a499 (diff) | |
firefox configs
Diffstat (limited to 'modules/desktop')
| -rw-r--r-- | modules/desktop/hjem/programs/firefox.nix | 48 | ||||
| -rw-r--r-- | modules/desktop/nixos/programs/firefox.nix | 59 |
2 files changed, 93 insertions, 14 deletions
diff --git a/modules/desktop/hjem/programs/firefox.nix b/modules/desktop/hjem/programs/firefox.nix index 73040d2..cb0794f 100644 --- a/modules/desktop/hjem/programs/firefox.nix +++ b/modules/desktop/hjem/programs/firefox.nix @@ -2,25 +2,49 @@ pkgs, lib, config, + inputs, ... }: let cfg = config.collinux.desktop.programs.firefox; + + mkCssHacks = hacks: hacks |> map (f: ''@import "${inputs.firefox-csshacks}/chrome/${f}.css";'') |> lib.concatStringsSep "\n"; in lib.mkIf cfg.enable { - files.".mozilla/firefox/profiles.ini" = { - generator = lib.generators.toINI {}; - value = { - Profile0 = { - Name = "collin"; - IsRelative = 1; - Path = "collin"; - Default = 1; - }; - General = { - StartWithLastProfile = 1; - Version = 2; + files = { + ".mozilla/firefox/profiles.ini" = { + generator = lib.generators.toINI {}; + value = { + Profile0 = { + Name = "collin"; + IsRelative = 1; + Path = "collin"; + Default = 1; + }; + General = { + StartWithLastProfile = 1; + Version = 2; + }; }; }; + + ".mozilla/firefox/collin/chrome/userChrome.css".text = mkCssHacks [ + # Tabs + "hide_tabs_with_one_tab" + "tabs_on_bottom_v2" + "tab_close_button_always_on_hover" + "tabs_fill_available_width" + + # Icons! + "iconized_main_menu" + "iconized_menubar_items" + "iconized_places_context_menu" + "iconized_tabs_context_menu" + "icon_only_context_menu_text_controls" + + # Other + "compact_extensions_panel" + ]; }; + packages = [pkgs.firefox]; } diff --git a/modules/desktop/nixos/programs/firefox.nix b/modules/desktop/nixos/programs/firefox.nix index f2daf43..be5c2cf 100644 --- a/modules/desktop/nixos/programs/firefox.nix +++ b/modules/desktop/nixos/programs/firefox.nix @@ -1,5 +1,4 @@ { - pkgs, lib, config, ... @@ -13,10 +12,11 @@ in PasswordManagerEnabled = false; # use bitwarden instead DisableAccounts = true; DisablePocket = true; - DisplayBookmarksToolbar = "always"; + NoDefaultBookmarks = true; OverrideFirstRunPage = ""; OverridePostUpdatePage = ""; + Homepage = ""; NewTabPage = false; @@ -31,14 +31,69 @@ in "browser.tabs.hoverPreview.enabled" = opt 0; "browser.tabs.loadBookmarksInTabs" = opt true; + "browser.toolbars.bookmarks.visibility" = opt "never"; + "browser.uiCustomization.state" = opt (lib.replaceStrings ["\n" " "] ["" ""] '' + { + "placements": { + "widget-overflow-fixed-list": [], + "unified-extensions-area": [ + "zotero_chnm_gmu_edu-browser-action", + "addon_darkreader_org-browser-action", + "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action" + ], + "nav-bar": [ + "personal-bookmarks", + "customizableui-special-spring1", + "back-button", + "forward-button", + "stop-reload-button", + "urlbar-container", + "downloads-button", + "unified-extensions-button", + "ublock0_raymondhill_net-browser-action", + "customizableui-special-spring2" + ], + "toolbar-menubar": [ + "menubar-items" + ], + "TabsToolbar": [ + "tabbrowser-tabs", + "new-tab-button" + ], + "vertical-tabs": [], + "PersonalToolbar": [] + }, + "seen": [ + "developer-button", + "zotero_chnm_gmu_edu-browser-action", + "addon_darkreader_org-browser-action", + "ublock0_raymondhill_net-browser-action", + "_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action", + "screenshot-button" + ], + "dirtyAreaCache": [], + "currentVersion": 23, + "newElementCount": 2 + } + ''); "accessibility.force_disabled" = opt 1; + "browser.aboutConfig.showWarning" = opt false; + + "startup.homepage_welcome_url" = opt ""; + "trailhead.firstrun.didSeeAboutWelcome" = opt true; + "datareporting.policy.dataSubmissionPolicyBypassNotification" = opt true; + "browser.startup.homepage" = opt "about:blank"; "browser.compactmode.show" = opt true; "browser.uidensity" = opt 1; "media.webspeech.synth.enabled" = opt false; # im not disabled "media.webspeech.synth.dont_notify_on_error" = opt true; + + # get that AI out of my browser + "browser.ml.chat.enabled" = opt false; + "browser.ml.enable" = opt false; }; ExtensionSettings = let |
