diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-09-19 17:32:42 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-09-19 17:32:42 -0500 |
| commit | dc7924e971b76ee56f5724cab127535e90d3ba07 (patch) | |
| tree | c587c4c140c1e07762fc2268e8272b7b3c073563 | |
| parent | e63f4bda23477436bee8b30db73cf8deba4a8a5f (diff) | |
| parent | c9ec61f01a26cff66ef779f0b94694684a16d7da (diff) | |
Merge branch 'main' of github.com:bluedragon1221/nixos
| -rw-r--r-- | flake.lock | 59 | ||||
| -rw-r--r-- | flake.nix | 5 | ||||
| -rw-r--r-- | modules/desktop/hjem/programs/firefox.nix | 48 | ||||
| -rw-r--r-- | modules/desktop/nixos/programs/firefox.nix | 59 |
4 files changed, 136 insertions, 35 deletions
@@ -22,11 +22,11 @@ ] }, "locked": { - "lastModified": 1753140376, - "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", + "lastModified": 1757508292, + "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", "owner": "nix-community", "repo": "disko", - "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", + "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", "type": "github" }, "original": { @@ -35,6 +35,22 @@ "type": "github" } }, + "firefox-csshacks": { + "flake": false, + "locked": { + "lastModified": 1757991741, + "narHash": "sha256-O9SXRWmXdzJXu/BgmunVUV15EriheCkAb7VEdwTjemM=", + "owner": "MrOtherGuy", + "repo": "firefox-csshacks", + "rev": "41e003708fb3cbd8fc9985447d267381ce8c6a26", + "type": "github" + }, + "original": { + "owner": "MrOtherGuy", + "repo": "firefox-csshacks", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -102,11 +118,11 @@ "smfh": "smfh" }, "locked": { - "lastModified": 1754244549, - "narHash": "sha256-ByZ81/QttgSS1mQYttnaoMw2WnqMvQ6HCxBPOioKrOA=", + "lastModified": 1757733237, + "narHash": "sha256-q57LxLzOQuW0ROtoBMMPbG8neBYa6LizRH9FVOQkkLQ=", "owner": "feel-co", "repo": "hjem", - "rev": "ee5c671eeba5cddd94f2c7de3c36f019fae5854e", + "rev": "627b34efad55fd42d6dd52c19c796604d2b8e8bd", "type": "github" }, "original": { @@ -127,11 +143,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1754297745, - "narHash": "sha256-aD6/scLN3L4ZszmNbhhd3JQ9Pzv1ScYFphz14wHinfs=", + "lastModified": 1756744479, + "narHash": "sha256-EyZXusK/wRD3V9vDh00W2Re3Eg8UQ+LjVBQrrH9dq1U=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "892cbdca865d6b42f9c0d222fe309f7720259855", + "rev": "747b7912f49e2885090c83364d88cf853a020ac1", "type": "github" }, "original": { @@ -142,11 +158,11 @@ }, "nixos-facter-modules": { "locked": { - "lastModified": 1750412875, - "narHash": "sha256-uP9Xxw5XcFwjX9lNoYRpybOnIIe1BHfZu5vJnnPg3Jc=", + "lastModified": 1756491981, + "narHash": "sha256-lXyDAWPw/UngVtQfgQ8/nrubs2r+waGEYIba5UX62+k=", "owner": "numtide", "repo": "nixos-facter-modules", - "rev": "14df13c84552a7d1f33c1cd18336128fbc43f920", + "rev": "c1b29520945d3e148cd96618c8a0d1f850965d8c", "type": "github" }, "original": { @@ -157,11 +173,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "type": "github" }, "original": { @@ -200,6 +216,7 @@ "root": { "inputs": { "disko": "disko", + "firefox-csshacks": "firefox-csshacks", "hjem": "hjem", "lanzaboote": "lanzaboote", "nixos-facter-modules": "nixos-facter-modules", @@ -216,11 +233,11 @@ ] }, "locked": { - "lastModified": 1747622321, - "narHash": "sha256-W0dYIWgsUu6rvOJRtKLhKskkv0VhQhJYGNIq+gGUc8g=", + "lastModified": 1755225702, + "narHash": "sha256-i7Rgs943NqX0RgQW0/l1coi8eWBj3XhxVggMpjjzTsk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "bd030fd9983f7fddf87be1c64aa3064c8afa24c4", + "rev": "4abaeba6b176979be0da0195b9e4ce86bc501ae4", "type": "github" }, "original": { @@ -260,11 +277,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1749906619, - "narHash": "sha256-/9Ww10kYopxfCNNnNDwENTubs7Wzqlw+O6PJAHNOYQw=", + "lastModified": 1755350122, + "narHash": "sha256-fTmAdnSPmEZlwAMTm/NEl4VibUAo+cerUuby1AYbKMM=", "owner": "feel-co", "repo": "smfh", - "rev": "39f5c06153f63100376bc607b1465850b6df77fd", + "rev": "5de4e315d61a7378f37ebdd39d42b6cf09a1b8cc", "type": "github" }, "original": { @@ -24,6 +24,11 @@ url = "github:feel-co/hjem"; inputs.nixpkgs.follows = "nixpkgs"; }; + + firefox-csshacks = { + url = "github:MrOtherGuy/firefox-csshacks"; + flake = false; + }; }; outputs = inputs: let 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 |
