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 ["sidebar" "default"];
12 default = "sidebar";
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}