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