forked from aylac.top/nixcfg
this repo has no description
1{ 2 lib, 3 config, 4 pkgs, 5 self, 6 ... 7}: { 8 options.myHome.programs.firefox = { 9 enable = lib.mkEnableOption "firefox web browser"; 10 mode = lib.mkOption { 11 type = lib.types.enum ["onebar" "sidebar" "default"]; 12 default = "onebar"; 13 description = "Firefox UI mode"; 14 }; 15 }; 16 17 config.programs.firefox = lib.mkMerge [ 18 ( 19 lib.mkIf 20 config.myHome.programs.firefox.enable 21 config.mySnippets.firefox-based.userConfig 22 ) 23 24 (lib.mkIf 25 (config.myHome.programs.firefox.mode == "onebar") 26 { 27 profiles.default = { 28 settings = { 29 "onebar.collapse-URLbar" = true; 30 "onebar.conditional-navigation-buttons" = false; 31 "onebar.hide-all-URLbar-icons" = true; 32 }; 33 34 userChrome = builtins.readFile self.inputs.firefox-onebar; 35 36 extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ 37 adaptive-tab-bar-colour 38 ]; 39 }; 40 }) 41 42 ( 43 if (config.myHome.programs.firefox.mode == "sidebar") 44 then { 45 profiles.default = { 46 settings = { 47 "sidebar.revamp" = true; 48 "sidebar.verticalTabs" = true; 49 "sidebar.animation.expand-on-hover.duration-ms" = 50; 50 "sidebar.expandOnHover" = false; 51 "sidebar.visibility" = "always-show"; 52 "browser.toolbars.bookmarks.visibility" = "never"; 53 "browser.uidensity" = 0; 54 }; 55 56 userChrome = '' 57 .tab-icon-overlay{ display: none !important; } 58 ''; 59 }; 60 } 61 else { 62 profiles.default = { 63 settings = { 64 "sidebar.revamp" = false; 65 "sidebar.verticalTabs" = false; 66 "browser.toolbars.bookmarks.visibility" = "newtab"; 67 "browser.uidensity" = 1; 68 }; 69 }; 70 } 71 ) 72 ]; 73}