diff options
author | Ryan Schanzenbacher <ryan@rschanz.org> | 2024-11-14 14:53:44 -0500 |
---|---|---|
committer | Ryan Schanzenbacher <ryan@rschanz.org> | 2024-11-14 14:53:44 -0500 |
commit | a04498c0b18d6fdf7e600dd9c8b5e7db781c21f3 (patch) | |
tree | e52aee2a32cace262f5acee2d2397240e3b39cf8 /home-config/nix-home-manager/home.nix | |
parent | bdb08351ce1afc15264658bcbb6ec03144874759 (diff) |
Changed firefox to use nix configuration, completely reset profile. No
longer using mozilla account.
Updated nixpkgs and home-manager
Added wpaperd flake
Diffstat (limited to 'home-config/nix-home-manager/home.nix')
-rw-r--r-- | home-config/nix-home-manager/home.nix | 323 |
1 files changed, 319 insertions, 4 deletions
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix index 65afdd3..41c7c83 100644 --- a/home-config/nix-home-manager/home.nix +++ b/home-config/nix-home-manager/home.nix | |||
@@ -1,5 +1,14 @@ | |||
1 | { config, pkgs, hyprland, nixgl, ... }: | 1 | { config, pkgs, hyprland, nixgl, wpaperd, ... }: |
2 | 2 | let | |
3 | lock-false = { | ||
4 | Value = false; | ||
5 | Status = "locked"; | ||
6 | }; | ||
7 | lock-true = { | ||
8 | Value = true; | ||
9 | Status = "locked"; | ||
10 | }; | ||
11 | in | ||
3 | { | 12 | { |
4 | # Home Manager needs a bit of information about you and the paths it should | 13 | # Home Manager needs a bit of information about you and the paths it should |
5 | # manage. | 14 | # manage. |
@@ -28,6 +37,311 @@ | |||
28 | 37 | ||
29 | # wayland.windowManager.hyprland.enable = true; | 38 | # wayland.windowManager.hyprland.enable = true; |
30 | 39 | ||
40 | # Install firefox and add some customizations | ||
41 | programs.firefox = { | ||
42 | enable = true; | ||
43 | policies = { | ||
44 | EnableTrackingProtection = { | ||
45 | Value = true; | ||
46 | Locked = true; | ||
47 | Cryptomining = true; | ||
48 | Fingerprinting = true; | ||
49 | EmailTracking = true; | ||
50 | }; | ||
51 | UserMessaging = { | ||
52 | WhatsNew = false; | ||
53 | ExtensionRecommendations = false; | ||
54 | FeatureRecommendations = false; | ||
55 | UrlbarInterventions = false; | ||
56 | SkipOnboarding = true; | ||
57 | MoreFromMozilla = false; | ||
58 | Labs = false; | ||
59 | Locked = true; | ||
60 | }; | ||
61 | DisableAppUpdate = true; | ||
62 | DisableAccounts = true; | ||
63 | DisableFirefoxAccounts = true; | ||
64 | DisableFirefoxStudies = true; | ||
65 | DisablePocket = true; | ||
66 | DisableTelemetry = true; | ||
67 | AutofillAddressEnabled = false; | ||
68 | AutofillCreditCardEnabled = false; | ||
69 | DisableMasterPasswordCreation = true; | ||
70 | PasswordManagerEnabled = false; | ||
71 | PrimaryPassword = false; | ||
72 | OfferToSaveLogins = false; | ||
73 | NoDefaultBookmarks = true; | ||
74 | OverrideFirstRunPage = ""; | ||
75 | OverridePostUpdatePage = ""; | ||
76 | FirefoxHome = { | ||
77 | Search = true; | ||
78 | TopSites = true; | ||
79 | SponsoredTopSites = false; | ||
80 | Highlights = false; | ||
81 | Pocket = false; | ||
82 | SponsoredPocket = false; | ||
83 | Snippets = false; | ||
84 | Locked = true; | ||
85 | }; | ||
86 | SearchSuggestEnabled = true; | ||
87 | FirefoxSuggest = { | ||
88 | WebSuggestions = true; | ||
89 | SponsoredSuggestions = false; | ||
90 | ImproveSuggest = false; | ||
91 | Locked = true; | ||
92 | }; | ||
93 | PictureInPicture = lock-true; | ||
94 | HardwareAcceleration = true; | ||
95 | Certificates = { | ||
96 | ImportEnterpriseRoots = true; | ||
97 | }; | ||
98 | ExtensionSettings = { | ||
99 | #"*".installation_mode = "blocked"; | ||
100 | # uBlock Origin | ||
101 | "uBlock0@raymondhill.net" = { | ||
102 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; | ||
103 | installation_mode = "force_installed"; | ||
104 | }; | ||
105 | # Bitwarden | ||
106 | "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { | ||
107 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi"; | ||
108 | installation_mode = "force_installed"; | ||
109 | }; | ||
110 | # SponsorBlock | ||
111 | "sponsorBlocker@ajay.app" = { | ||
112 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi"; | ||
113 | installation_mode = "force_installed"; | ||
114 | }; | ||
115 | # DeArrow | ||
116 | "deArrow@ajay.app" = { | ||
117 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/dearrow/latest.xpi"; | ||
118 | installation_mode = "force_installed"; | ||
119 | }; | ||
120 | # Return Youtube Dislike | ||
121 | "{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = { | ||
122 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/return-youtube-dislikes/latest.xpi"; | ||
123 | installation_mode = "force_installed"; | ||
124 | }; | ||
125 | # Youtube Nonstop | ||
126 | "{0d7cafdd-501c-49ca-8ebb-e3341caaa55e}" = { | ||
127 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/youtube-nonstop/latest.xpi"; | ||
128 | installation_mode = "force_installed"; | ||
129 | }; | ||
130 | # Sidebery | ||
131 | "{3c078156-979c-498b-8990-85f7987dd929}" = { | ||
132 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/sidebery/latest.xpi"; | ||
133 | installation_mode = "normal_installed"; | ||
134 | }; | ||
135 | # TamperMonkey | ||
136 | "firefox@tampermonkey.net" = { | ||
137 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/tampermonkey/latest.xpi"; | ||
138 | installation_mode = "force_installed"; | ||
139 | }; | ||
140 | # Floccus | ||
141 | "floccus@handmadeideas.org" = { | ||
142 | install_url = "https://addons.mozilla.org/firefox/downloads/latest/floccus/latest.xpi"; | ||
143 | installation_mode = "force_installed"; | ||
144 | }; | ||
145 | }; | ||
146 | Preferences = { | ||
147 | "browser.startup.homepage" = "https://d.in.rschanz.org"; | ||
148 | "extensions.activeThemeID" = { | ||
149 | Value = "firefox-compact-dark@mozilla.org"; | ||
150 | Status = "locked"; | ||
151 | }; | ||
152 | "toolkit.legacyUserProfileCustomizations.stylesheets" = lock-true; | ||
153 | "xpinstall.whitelist.required" = lock-true; | ||
154 | "dom.webgpu.enabled" = lock-true; | ||
155 | "media.eme.enabled" = lock-true; | ||
156 | "general.autoScroll" = lock-true; | ||
157 | "general.smoothScroll" = lock-true; | ||
158 | "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false; | ||
159 | "browser.aboutConfig.showWarning" = lock-false; | ||
160 | }; | ||
161 | }; | ||
162 | profiles.${config.home.username} = { | ||
163 | name = "${config.home.username}"; | ||
164 | isDefault = true; | ||
165 | containersForce = true; | ||
166 | containers = { | ||
167 | rit = { | ||
168 | name = "RIT"; | ||
169 | color = "orange"; | ||
170 | icon = "dollar"; | ||
171 | id = 1; | ||
172 | }; | ||
173 | ritwork = { | ||
174 | name = "RIT Work"; | ||
175 | color = "green"; | ||
176 | icon = "briefcase"; | ||
177 | id = 2; | ||
178 | }; | ||
179 | other = { | ||
180 | name = "Other"; | ||
181 | color = "blue"; | ||
182 | icon = "fingerprint"; | ||
183 | id = 3; | ||
184 | }; | ||
185 | }; | ||
186 | search = { | ||
187 | force = true; | ||
188 | default = "DuckDuckGo"; | ||
189 | order = ["DuckDuckGo" "Google"]; | ||
190 | engines = { | ||
191 | "Nix Packages" = { | ||
192 | urls = [ | ||
193 | { | ||
194 | template = "https://search.nixos.org/packages"; | ||
195 | params = [ | ||
196 | { | ||
197 | name = "type"; | ||
198 | value = "packages"; | ||
199 | } | ||
200 | { | ||
201 | name = "channel"; | ||
202 | value = "unstable"; | ||
203 | } | ||
204 | { | ||
205 | name = "query"; | ||
206 | value = "{searchTerms}"; | ||
207 | } | ||
208 | ]; | ||
209 | } | ||
210 | ]; | ||
211 | icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; | ||
212 | definedAliases = ["@np"]; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | userChrome = " | ||
217 | #main-window #titlebar { | ||
218 | overflow: hidden; | ||
219 | transition: height 0.3s 0.3s !important; | ||
220 | } | ||
221 | /* Default state: Set initial height to enable animation */ | ||
222 | #main-window #titlebar { height: 3em !important; } | ||
223 | #main-window[uidensity=\"touch\"] #titlebar { height: 3.35em !important; } | ||
224 | #main-window[uidensity=\"compact\"] #titlebar { height: 2.7em !important; } | ||
225 | /* Hidden state: Hide native tabs strip */ | ||
226 | #main-window[titlepreface*=\"\"] #titlebar { height: 0 !important; } | ||
227 | /* Hidden state: Fix z-index of active pinned tabs */ | ||
228 | #main-window[titlepreface*=\"\"] #tabbrowser-tabs { z-index: 0 !important; } | ||
229 | |||
230 | /* Sidebery expand on mouse-over and hide otherwise */ | ||
231 | |||
232 | /* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0 | ||
233 | See the above repository for updates as well as full license text. */ | ||
234 | |||
235 | /* Show sidebar only when the cursor is over it */ | ||
236 | /* The border controlling sidebar width will be removed so you'll need to modify these values to change width */ | ||
237 | |||
238 | #sidebar-box{ | ||
239 | --uc-sidebar-width: 60px; | ||
240 | --uc-sidebar-hover-width: 230px; | ||
241 | --uc-autohide-sidebar-delay: 200ms; /* Wait 0.2s before hiding sidebar */ | ||
242 | --uc-autohide-transition-duration: 115ms; | ||
243 | --uc-autohide-transition-type: linear; | ||
244 | --browser-area-z-index-sidebar: 3; | ||
245 | position: relative; | ||
246 | min-width: var(--uc-sidebar-width) !important; | ||
247 | width: var(--uc-sidebar-width) !important; | ||
248 | max-width: var(--uc-sidebar-width) !important; | ||
249 | z-index: var(--browser-area-z-index-sidebar,3); | ||
250 | } | ||
251 | #sidebar-box[positionend]{ direction: rtl } | ||
252 | #sidebar-box[positionend] > *{ direction: ltr } | ||
253 | |||
254 | #sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr } | ||
255 | #sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl } | ||
256 | |||
257 | #main-window[sizemode=\"fullscreen\"] #sidebar-box{ --uc-sidebar-width: 1px; } | ||
258 | |||
259 | #sidebar-splitter{ display: none } | ||
260 | |||
261 | #sidebar-header{ | ||
262 | overflow: hidden; | ||
263 | color: var(--chrome-color, inherit) !important; | ||
264 | padding-inline: 0 !important; | ||
265 | } | ||
266 | |||
267 | #sidebar-header::before, | ||
268 | #sidebar-header::after{ | ||
269 | content: \"\"; | ||
270 | display: flex; | ||
271 | padding-left: 8px; | ||
272 | } | ||
273 | |||
274 | #sidebar-header, | ||
275 | #sidebar{ | ||
276 | transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important; | ||
277 | min-width: var(--uc-sidebar-width) !important; | ||
278 | will-change: min-width; | ||
279 | } | ||
280 | #sidebar-box:hover > #sidebar-header, | ||
281 | #sidebar-box:hover > #sidebar{ | ||
282 | min-width: var(--uc-sidebar-hover-width) !important; | ||
283 | transition-delay: 0ms !important; | ||
284 | } | ||
285 | |||
286 | .sidebar-panel{ | ||
287 | background-color: transparent !important; | ||
288 | color: var(--newtab-text-primary-color) !important; | ||
289 | } | ||
290 | |||
291 | .sidebar-panel #search-box{ | ||
292 | -moz-appearance: none !important; | ||
293 | background-color: rgba(249,249,250,0.1) !important; | ||
294 | color: inherit !important; | ||
295 | } | ||
296 | |||
297 | /* Add sidebar divider and give it background */ | ||
298 | |||
299 | #sidebar, | ||
300 | #sidebar-header{ | ||
301 | background-color: inherit !important; | ||
302 | border-inline: 1px solid rgb(80,80,80); | ||
303 | border-inline-width: 0px 1px; | ||
304 | } | ||
305 | |||
306 | #sidebar-box:not([positionend]) > :-moz-locale-dir(rtl), | ||
307 | #sidebar-box[positionend] > *{ | ||
308 | border-inline-width: 1px 0px; | ||
309 | } | ||
310 | |||
311 | /* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */ | ||
312 | |||
313 | #sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{ | ||
314 | inset-inline: auto 0px !important; | ||
315 | } | ||
316 | #sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{ | ||
317 | margin-inline: 0px !important; | ||
318 | border-left-style: solid !important; | ||
319 | } | ||
320 | |||
321 | /* Remove the tabs label and move the Sidebary icon to the center of the box */ | ||
322 | #sidebar-box:hover [id=\"sidebar-icon\"] { | ||
323 | transform: translateX(0px) !important; | ||
324 | transition-delay: 0ms !important; | ||
325 | } | ||
326 | |||
327 | #sidebar-box [id=\"sidebar-icon\"] { | ||
328 | transform: translateX(9px); | ||
329 | transition: transform var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important; | ||
330 | } | ||
331 | |||
332 | #sidebar-box [id=\"sidebar-title\"] { | ||
333 | visibility: hidden !important; | ||
334 | transition: visibility var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important; | ||
335 | } | ||
336 | |||
337 | #sidebar-box:hover [id=\"sidebar-title\"] { | ||
338 | visibility: visible !important; | ||
339 | transition-delay: 0ms !important; | ||
340 | } | ||
341 | "; | ||
342 | }; | ||
343 | }; | ||
344 | |||
31 | # The home.packages option allows you to install Nix packages into your | 345 | # The home.packages option allows you to install Nix packages into your |
32 | # environment. | 346 | # environment. |
33 | home.packages = with pkgs; [ | 347 | home.packages = with pkgs; [ |
@@ -56,9 +370,9 @@ | |||
56 | imv | 370 | imv |
57 | libva | 371 | libva |
58 | libvdpau | 372 | libvdpau |
59 | wpaperd | 373 | #wpaperd |
60 | hypridle | 374 | hypridle |
61 | latest.firefox-nightly-bin | 375 | #latest.firefox-nightly-bin |
62 | eza | 376 | eza |
63 | 377 | ||
64 | # Wrapped programs for some env variables | 378 | # Wrapped programs for some env variables |
@@ -72,6 +386,7 @@ | |||
72 | hyprland.packages.${pkgs.system}.default | 386 | hyprland.packages.${pkgs.system}.default |
73 | hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland | 387 | hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland |
74 | nixgl.packages.${pkgs.system}.nixGLIntel | 388 | nixgl.packages.${pkgs.system}.nixGLIntel |
389 | wpaperd.packages.${pkgs.system}.wpaperd | ||
75 | 390 | ||
76 | # Fonts! | 391 | # Fonts! |
77 | noto-fonts | 392 | noto-fonts |