aboutsummaryrefslogtreecommitdiff
path: root/modules/desktop
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-19 17:32:42 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-09-19 17:32:42 -0500
commitdc7924e971b76ee56f5724cab127535e90d3ba07 (patch)
treec587c4c140c1e07762fc2268e8272b7b3c073563 /modules/desktop
parente63f4bda23477436bee8b30db73cf8deba4a8a5f (diff)
parentc9ec61f01a26cff66ef779f0b94694684a16d7da (diff)
Merge branch 'main' of github.com:bluedragon1221/nixos
Diffstat (limited to 'modules/desktop')
-rw-r--r--modules/desktop/hjem/programs/firefox.nix48
-rw-r--r--modules/desktop/nixos/programs/firefox.nix59
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