home-config/nix-home-manager/firefox-nightly/default.nixold

365a13de3e19c66f6bb2ffb806e8086a068ffc25 · 6.5 KB · 206 lines raw

1 { config, pkgs, ...}:
2
3 let
4
5 wrapped-ff-nightly = pkgs.latest.firefox-nightly-bin.firefox-bin-unwrapped.overrideAttrs (oldAttrs: rec {
6 policies = import ./policies.nix;
7 policiesJson = pkgs.writeText "firefox-policies.json" (builtins.toJSON { inherit policies; });
8 postFixup = ''
9 # See: https://github.com/mozilla/policy-templates/blob/master/README.md
10 mkdir -p "$out/lib/firefox/distribution"
11 ln -s ${policiesJson} "$out/lib/firefox-nightly-bin-${oldAttrs.version}/distribution/policies.json"
12 '';
13 });
14
15 in
16
17 {
18 programs.firefox = {
19 enable = true;
20 package = wrapped-ff-nightly;
21
22 profiles.${config.home.username} = {
23 name = "${config.home.username}";
24 isDefault = true;
25 containersForce = true;
26 containers = {
27 rit = {
28 name = "RIT";
29 color = "orange";
30 icon = "dollar";
31 id = 1;
32 };
33 ritwork = {
34 name = "RIT Work";
35 color = "green";
36 icon = "briefcase";
37 id = 2;
38 };
39 other = {
40 name = "Other";
41 color = "blue";
42 icon = "fingerprint";
43 id = 3;
44 };
45 };
46 search = {
47 force = true;
48 default = "DuckDuckGo";
49 order = ["DuckDuckGo" "Google"];
50 engines = {
51 "Nix Packages" = {
52 urls = [
53 {
54 template = "https://search.nixos.org/packages";
55 params = [
56 {
57 name = "type";
58 value = "packages";
59 }
60 {
61 name = "channel";
62 value = "unstable";
63 }
64 {
65 name = "query";
66 value = "{searchTerms}";
67 }
68 ];
69 }
70 ];
71 icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
72 definedAliases = ["@np"];
73 };
74 };
75 };
76 userChrome = "
77 #main-window .toolbar-items {
78 overflow: hidden;
79 transition: height 0.3s 0.3s !important;
80 }
81 /* Default state: Set initial height to enable animation */
82 #main-window .toolbar-items { height: 3em !important; }
83 #main-window .titlebar-button { height: 3em !important; }
84 #main-window[uidensity=\"touch\"] .toolbar-items { height: 3.35em !important; }
85 #main-window[uidensity=\"compact\"] .toolbar-items { height: 2.7em !important; }
86 /* Hidden state: Hide native tabs strip */
87 #main-window[titlepreface*=\"\"] .toolbar-items { height: 0 !important; }
88 #main-window[titlepreface*=\"\"] .titlebar-button { height: 0 !important; }
89 /* Hidden state: Fix z-index of active pinned tabs */
90 #main-window[titlepreface*=\"\"] #tabbrowser-tabs { z-index: 0 !important; }
91
92 /* Sidebery expand on mouse-over and hide otherwise */
93
94 /* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0
95 See the above repository for updates as well as full license text. */
96
97 /* Show sidebar only when the cursor is over it */
98 /* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
99
100 #sidebar-box{
101 --uc-sidebar-width: 60px;
102 --uc-sidebar-hover-width: 230px;
103 --uc-autohide-sidebar-delay: 200ms; /* Wait 0.2s before hiding sidebar */
104 --uc-autohide-transition-duration: 115ms;
105 --uc-autohide-transition-type: linear;
106 --browser-area-z-index-sidebar: 3;
107 position: relative;
108 min-width: var(--uc-sidebar-width) !important;
109 width: var(--uc-sidebar-width) !important;
110 max-width: var(--uc-sidebar-width) !important;
111 z-index: var(--browser-area-z-index-sidebar,3);
112 }
113 #sidebar-box[positionend]{ direction: rtl }
114 #sidebar-box[positionend] > *{ direction: ltr }
115
116 #sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr }
117 #sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl }
118
119 #main-window[sizemode=\"fullscreen\"] #sidebar-box{ --uc-sidebar-width: 1px; }
120
121 #sidebar-splitter{ display: none }
122
123 #sidebar-header{
124 overflow: hidden;
125 color: var(--chrome-color, inherit) !important;
126 padding-inline: 0 !important;
127 }
128
129 #sidebar-header::before,
130 #sidebar-header::after{
131 content: \"\";
132 display: flex;
133 padding-left: 8px;
134 }
135
136 #sidebar-header,
137 #sidebar{
138 transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
139 min-width: var(--uc-sidebar-width) !important;
140 will-change: min-width;
141 }
142 #sidebar-box:hover > #sidebar-header,
143 #sidebar-box:hover > #sidebar{
144 min-width: var(--uc-sidebar-hover-width) !important;
145 transition-delay: 0ms !important;
146 }
147
148 .sidebar-panel{
149 background-color: transparent !important;
150 color: var(--newtab-text-primary-color) !important;
151 }
152
153 .sidebar-panel #search-box{
154 -moz-appearance: none !important;
155 background-color: rgba(249,249,250,0.1) !important;
156 color: inherit !important;
157 }
158
159 /* Add sidebar divider and give it background */
160
161 #sidebar,
162 #sidebar-header{
163 background-color: inherit !important;
164 border-inline: 1px solid rgb(80,80,80);
165 border-inline-width: 0px 1px;
166 }
167
168 #sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
169 #sidebar-box[positionend] > *{
170 border-inline-width: 1px 0px;
171 }
172
173 /* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
174
175 #sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{
176 inset-inline: auto 0px !important;
177 }
178 #sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{
179 margin-inline: 0px !important;
180 border-left-style: solid !important;
181 }
182
183 /* Remove the tabs label and move the Sidebary icon to the center of the box */
184 #sidebar-box:hover [id=\"sidebar-icon\"] {
185 transform: translateX(0px) !important;
186 transition-delay: 0ms !important;
187 }
188
189 #sidebar-box [id=\"sidebar-icon\"] {
190 transform: translateX(9px);
191 transition: transform var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
192 }
193
194 #sidebar-box [id=\"sidebar-title\"] {
195 visibility: hidden !important;
196 transition: visibility var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
197 }
198
199 #sidebar-box:hover [id=\"sidebar-title\"] {
200 visibility: visible !important;
201 transition-delay: 0ms !important;
202 }
203 ";
204 };
205 };
206 }