summaryrefslogtreecommitdiff
path: root/home-config/nix-home-manager
diff options
context:
space:
mode:
Diffstat (limited to 'home-config/nix-home-manager')
-rw-r--r--home-config/nix-home-manager/firefox-nightly/default.nix9
-rw-r--r--home-config/nix-home-manager/flake.lock108
-rw-r--r--home-config/nix-home-manager/flake.nix13
-rw-r--r--home-config/nix-home-manager/home.nix26
-rw-r--r--home-config/nix-home-manager/zenPolicies.nix126
5 files changed, 248 insertions, 34 deletions
diff --git a/home-config/nix-home-manager/firefox-nightly/default.nix b/home-config/nix-home-manager/firefox-nightly/default.nix
index cffaa1d..b86da78 100644
--- a/home-config/nix-home-manager/firefox-nightly/default.nix
+++ b/home-config/nix-home-manager/firefox-nightly/default.nix
@@ -1,17 +1,16 @@
1{ config, pkgs, mozff, ...}: 1{ config, pkgs, zen-browser, ...}:
2 2
3let 3let
4 4
5wrapped-ff-nightly = mozff.packages.${pkgs.system}.firefox-nightly-bin.override { 5#wrapped-ff-nightly = zen-browser.packages.${pkgs.system}.default
6 extraPolicies = import ./policies.nix;
7};
8 6
9in 7in
10 8
11{ 9{
12 programs.firefox = { 10 programs.firefox = {
13 enable = true; 11 enable = true;
14 #package = wrapped-ff-nightly; 12 policies = import ./policies.nix;
13 #package = zen-browser.packages.${pkgs.system}.default.unwrapped;
15 14
16 profiles.${config.home.username} = { 15 profiles.${config.home.username} = {
17 name = "${config.home.username}"; 16 name = "${config.home.username}";
diff --git a/home-config/nix-home-manager/flake.lock b/home-config/nix-home-manager/flake.lock
index a0c7e15..0eebe5d 100644
--- a/home-config/nix-home-manager/flake.lock
+++ b/home-config/nix-home-manager/flake.lock
@@ -297,26 +297,24 @@
297 "hyprland-protocols": "hyprland-protocols", 297 "hyprland-protocols": "hyprland-protocols",
298 "hyprland-qtutils": "hyprland-qtutils", 298 "hyprland-qtutils": "hyprland-qtutils",
299 "hyprlang": "hyprlang", 299 "hyprlang": "hyprlang",
300 "hyprutils": "hyprutils", 300 "hyprutils": "hyprutils_2",
301 "hyprwayland-scanner": "hyprwayland-scanner", 301 "hyprwayland-scanner": "hyprwayland-scanner",
302 "nixpkgs": [ 302 "nixpkgs": "nixpkgs",
303 "nixpkgs"
304 ],
305 "pre-commit-hooks": "pre-commit-hooks", 303 "pre-commit-hooks": "pre-commit-hooks",
306 "systems": "systems", 304 "systems": "systems",
307 "xdph": "xdph" 305 "xdph": "xdph"
308 }, 306 },
309 "locked": { 307 "locked": {
310 "lastModified": 1738457237, 308 "lastModified": 1742741773,
311 "narHash": "sha256-9mtM+lwnmXnv5TPmdij1rR5fLzzqSjkltcyEuRf8uIk=", 309 "narHash": "sha256-SLEd12Y9KzlQd4CfH2+gz3oQvkPKmwvwi74O+veNdbs=",
312 "owner": "hyprwm", 310 "owner": "hyprwm",
313 "repo": "hyprland", 311 "repo": "hyprland",
314 "rev": "882f7ad7d2bbfc7440d0ccaef93b1cdd78e8e3ff", 312 "rev": "5ee35f914f921e5696030698e74fb5566a804768",
315 "type": "github" 313 "type": "github"
316 }, 314 },
317 "original": { 315 "original": {
318 "owner": "hyprwm", 316 "owner": "hyprwm",
319 "ref": "v0.47.2", 317 "ref": "v0.48.0",
320 "repo": "hyprland", 318 "repo": "hyprland",
321 "type": "github" 319 "type": "github"
322 } 320 }
@@ -348,10 +346,7 @@
348 }, 346 },
349 "hyprland-qtutils": { 347 "hyprland-qtutils": {
350 "inputs": { 348 "inputs": {
351 "hyprutils": [ 349 "hyprutils": "hyprutils",
352 "hyprland",
353 "hyprutils"
354 ],
355 "nixpkgs": [ 350 "nixpkgs": [
356 "hyprland", 351 "hyprland",
357 "nixpkgs" 352 "nixpkgs"
@@ -437,7 +432,7 @@
437 "inputs": { 432 "inputs": {
438 "hyprgraphics": "hyprgraphics_2", 433 "hyprgraphics": "hyprgraphics_2",
439 "hyprlang": "hyprlang_2", 434 "hyprlang": "hyprlang_2",
440 "hyprutils": "hyprutils_2", 435 "hyprutils": "hyprutils_3",
441 "hyprwayland-scanner": "hyprwayland-scanner_2", 436 "hyprwayland-scanner": "hyprwayland-scanner_2",
442 "nixpkgs": [ 437 "nixpkgs": [
443 "nixpkgs" 438 "nixpkgs"
@@ -461,7 +456,7 @@
461 }, 456 },
462 "hyprpicker-git": { 457 "hyprpicker-git": {
463 "inputs": { 458 "inputs": {
464 "hyprutils": "hyprutils_3", 459 "hyprutils": "hyprutils_4",
465 "hyprwayland-scanner": "hyprwayland-scanner_3", 460 "hyprwayland-scanner": "hyprwayland-scanner_3",
466 "nixpkgs": [ 461 "nixpkgs": [
467 "nixpkgs" 462 "nixpkgs"
@@ -487,6 +482,33 @@
487 "inputs": { 482 "inputs": {
488 "nixpkgs": [ 483 "nixpkgs": [
489 "hyprland", 484 "hyprland",
485 "hyprland-qtutils",
486 "nixpkgs"
487 ],
488 "systems": [
489 "hyprland",
490 "hyprland-qtutils",
491 "systems"
492 ]
493 },
494 "locked": {
495 "lastModified": 1742984269,
496 "narHash": "sha256-uz9FaCIbga/gQ5ZG1Hb4HVVjTWT1qjjCAFlCXiaefxg=",
497 "owner": "hyprwm",
498 "repo": "hyprutils",
499 "rev": "7248194a2ce0106ae647b70d0526a96dc9d6ad60",
500 "type": "github"
501 },
502 "original": {
503 "owner": "hyprwm",
504 "repo": "hyprutils",
505 "type": "github"
506 }
507 },
508 "hyprutils_2": {
509 "inputs": {
510 "nixpkgs": [
511 "hyprland",
490 "nixpkgs" 512 "nixpkgs"
491 ], 513 ],
492 "systems": [ 514 "systems": [
@@ -508,7 +530,7 @@
508 "type": "github" 530 "type": "github"
509 } 531 }
510 }, 532 },
511 "hyprutils_2": { 533 "hyprutils_3": {
512 "inputs": { 534 "inputs": {
513 "nixpkgs": [ 535 "nixpkgs": [
514 "hyprlock", 536 "hyprlock",
@@ -533,7 +555,7 @@
533 "type": "github" 555 "type": "github"
534 } 556 }
535 }, 557 },
536 "hyprutils_3": { 558 "hyprutils_4": {
537 "inputs": { 559 "inputs": {
538 "nixpkgs": [ 560 "nixpkgs": [
539 "hyprpicker-git", 561 "hyprpicker-git",
@@ -717,17 +739,17 @@
717 }, 739 },
718 "nixpkgs": { 740 "nixpkgs": {
719 "locked": { 741 "locked": {
720 "lastModified": 1739736696, 742 "lastModified": 1742889210,
721 "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=", 743 "narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
722 "owner": "nixos", 744 "owner": "NixOS",
723 "repo": "nixpkgs", 745 "repo": "nixpkgs",
724 "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f", 746 "rev": "698214a32beb4f4c8e3942372c694f40848b360d",
725 "type": "github" 747 "type": "github"
726 }, 748 },
727 "original": { 749 "original": {
728 "owner": "nixos", 750 "owner": "NixOS",
751 "ref": "nixos-unstable",
729 "repo": "nixpkgs", 752 "repo": "nixpkgs",
730 "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f",
731 "type": "github" 753 "type": "github"
732 } 754 }
733 }, 755 },
@@ -746,6 +768,22 @@
746 "type": "github" 768 "type": "github"
747 } 769 }
748 }, 770 },
771 "nixpkgs_2": {
772 "locked": {
773 "lastModified": 1739736696,
774 "narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=",
775 "owner": "nixos",
776 "repo": "nixpkgs",
777 "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f",
778 "type": "github"
779 },
780 "original": {
781 "owner": "nixos",
782 "repo": "nixpkgs",
783 "rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f",
784 "type": "github"
785 }
786 },
749 "pre-commit-hooks": { 787 "pre-commit-hooks": {
750 "inputs": { 788 "inputs": {
751 "flake-compat": "flake-compat", 789 "flake-compat": "flake-compat",
@@ -779,8 +817,9 @@
779 "hyprpicker-git": "hyprpicker-git", 817 "hyprpicker-git": "hyprpicker-git",
780 "mozff": "mozff", 818 "mozff": "mozff",
781 "nixgl": "nixgl", 819 "nixgl": "nixgl",
782 "nixpkgs": "nixpkgs", 820 "nixpkgs": "nixpkgs_2",
783 "wpaperd": "wpaperd" 821 "wpaperd": "wpaperd",
822 "zen-browser": "zen-browser"
784 } 823 }
785 }, 824 },
786 "rust-overlay": { 825 "rust-overlay": {
@@ -942,6 +981,27 @@
942 "repo": "xdg-desktop-portal-hyprland", 981 "repo": "xdg-desktop-portal-hyprland",
943 "type": "github" 982 "type": "github"
944 } 983 }
984 },
985 "zen-browser": {
986 "inputs": {
987 "nixpkgs": [
988 "nixpkgs"
989 ]
990 },
991 "locked": {
992 "lastModified": 1742871532,
993 "narHash": "sha256-ciC3zul202dnIwpAplSaCJTeXOUce7Pl1d+SMFwPQls=",
994 "owner": "0xc000022070",
995 "repo": "zen-browser-flake",
996 "rev": "bef72020b20475847f24cd27134dca06724d4ba7",
997 "type": "github"
998 },
999 "original": {
1000 "owner": "0xc000022070",
1001 "repo": "zen-browser-flake",
1002 "rev": "bef72020b20475847f24cd27134dca06724d4ba7",
1003 "type": "github"
1004 }
945 } 1005 }
946 }, 1006 },
947 "root": "root", 1007 "root": "root",
diff --git a/home-config/nix-home-manager/flake.nix b/home-config/nix-home-manager/flake.nix
index ba3d01a..38b0708 100644
--- a/home-config/nix-home-manager/flake.nix
+++ b/home-config/nix-home-manager/flake.nix
@@ -3,9 +3,9 @@
3 3
4 inputs = { 4 inputs = {
5 # Specify the source of Home Manager and Nixpkgs. 5 # Specify the source of Home Manager and Nixpkgs.
6 nixpkgs.url = "github:nixos/nixpkgs/d74a2335ac9c133d6bbec9fc98d91a77f1604c1f"; 6 nixpkgs.url = "github:nixos/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc";
7 home-manager = { 7 home-manager = {
8 url = "github:nix-community/home-manager/53c587d263f94aaf6a281745923c76bbec62bcf3"; 8 url = "github:nix-community/home-manager/693840c01b9bef9e54100239cef937e53d4661bf";
9 inputs.nixpkgs.follows = "nixpkgs"; 9 inputs.nixpkgs.follows = "nixpkgs";
10 }; 10 };
11 hyprlock = { 11 hyprlock = {
@@ -17,7 +17,7 @@
17 inputs.nixpkgs.follows = "nixpkgs"; 17 inputs.nixpkgs.follows = "nixpkgs";
18 }; 18 };
19 hyprland = { 19 hyprland = {
20 url = "github:hyprwm/hyprland/v0.47.2"; 20 url = "github:hyprwm/hyprland/v0.48.0";
21 inputs.nixpkgs.follows = "nixpkgs"; 21 inputs.nixpkgs.follows = "nixpkgs";
22 #inputs.hyprutils.url = "github:/hyprwm/hyprutils/6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab"; 22 #inputs.hyprutils.url = "github:/hyprwm/hyprutils/6a8bc9d2a4451df12f5179dc0b1d2d46518a90ab";
23 }; 23 };
@@ -42,9 +42,13 @@
42 inputs.hyprland.follows = "hyprland"; 42 inputs.hyprland.follows = "hyprland";
43 inputs.nixpkgs.follows = "hyprland/nixpkgs"; 43 inputs.nixpkgs.follows = "hyprland/nixpkgs";
44 }; 44 };
45 zen-browser = {
46 url = "github:0xc000022070/zen-browser-flake/bef72020b20475847f24cd27134dca06724d4ba7";
47 inputs.nixpkgs.follows = "nixpkgs";
48 };
45 }; 49 };
46 50
47 outputs = { nixpkgs, home-manager, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, clipboard-sync, hypr-dynamic-cursors, ... }@inputs: 51 outputs = { nixpkgs, home-manager, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, clipboard-sync, hypr-dynamic-cursors, zen-browser, ... }@inputs:
48 let 52 let
49 system = "x86_64-linux"; 53 system = "x86_64-linux";
50 pkgs = nixpkgs.legacyPackages.${system}; 54 pkgs = nixpkgs.legacyPackages.${system};
@@ -70,6 +74,7 @@
70 inherit mozff; 74 inherit mozff;
71 inherit clipboard-sync; 75 inherit clipboard-sync;
72 inherit hypr-dynamic-cursors; 76 inherit hypr-dynamic-cursors;
77 inherit zen-browser;
73 }; 78 };
74 } 79 }
75 ]; 80 ];
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix
index d2e0034..f5d386c 100644
--- a/home-config/nix-home-manager/home.nix
+++ b/home-config/nix-home-manager/home.nix
@@ -1,4 +1,24 @@
1{ config, pkgs, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, clipboard-sync, hypr-dynamic-cursors, ... }: 1{ config, pkgs, hyprland, nixgl, wpaperd, hyprpicker-git, hyprlock, mozff, clipboard-sync, hypr-dynamic-cursors, zen-browser, ... }:
2let
3 # THIS IS NOT PERFECT AT ALL YET!!! Gets the basics done (my important
4 # policies regarding accounts and extensions. Does not set up profile
5 # stuff, like search. Most importantly, it DOES NOT add system CAs.
6 # To do that, run:
7 # `certutil -A -n "name" -t "CT,c" -i ./path/to/cert -d ~/.zen/profile-folder`
8 # I do this for my root and intermediate. BEWARE WHEN INSTALLING NEW
9 # SYSTEMS!!!!
10 ffPolicies = import ./zenPolicies.nix;
11 customZen = zen-browser.packages.${pkgs.system}.default.overrideAttrs (old: {
12 installPhase = old.installPhase + ''
13 rm -f $out/lib/zen-${old.version}/distribution/policies.json
14 rm -rf $out/lib
15 mkdir $out/opt/zen/distribution
16 ln -s ${pkgs.writeText "firefox-policies.json" (builtins.toJSON ffPolicies)} \
17 "$out/opt/zen/distribution/policies.json"
18 '';
19 });
20
21in
2 22
3{ 23{
4 imports = [ 24 imports = [
@@ -94,10 +114,14 @@
94 starship 114 starship
95 taskwarrior3 115 taskwarrior3
96 delta 116 delta
117 (flameshot.override { enableWlrSupport = true; })
97 118
98 # Here until i can fix firefox's stupid devtools issue 119 # Here until i can fix firefox's stupid devtools issue
99 chromium 120 chromium
100 121
122 # Maybe will work?
123 customZen
124
101 # Wrapped programs for some env variables 125 # Wrapped programs for some env variables
102 (pkgs.writeScriptBin "hyprlock" '' 126 (pkgs.writeScriptBin "hyprlock" ''
103 #! ${pkgs.bash}/bin/bash 127 #! ${pkgs.bash}/bin/bash
diff --git a/home-config/nix-home-manager/zenPolicies.nix b/home-config/nix-home-manager/zenPolicies.nix
new file mode 100644
index 0000000..55b1190
--- /dev/null
+++ b/home-config/nix-home-manager/zenPolicies.nix
@@ -0,0 +1,126 @@
1let
2 lock-false = {
3 Value = false;
4 Status = "locked";
5 };
6 lock-true = {
7 Value = true;
8 Status = "locked";
9 };
10in
11{
12
13policies = {
14 EnableTrackingProtection = {
15 Value = true;
16 Locked = true;
17 Cryptomining = true;
18 Fingerprinting = true;
19 EmailTracking = true;
20 };
21 UserMessaging = {
22 WhatsNew = false;
23 ExtensionRecommendations = false;
24 FeatureRecommendations = false;
25 UrlbarInterventions = false;
26 SkipOnboarding = true;
27 MoreFromMozilla = false;
28 Labs = false;
29 Locked = true;
30 };
31 DisableAppUpdate = true;
32 DisableAccounts = true;
33 DisableFirefoxAccounts = true;
34 DisableFirefoxStudies = true;
35 DisablePocket = true;
36 DisableTelemetry = true;
37 AutofillAddressEnabled = false;
38 AutofillCreditCardEnabled = false;
39 DisableMasterPasswordCreation = true;
40 PasswordManagerEnabled = false;
41 PrimaryPassword = false;
42 OfferToSaveLogins = false;
43 NoDefaultBookmarks = true;
44 OverrideFirstRunPage = "";
45 OverridePostUpdatePage = "";
46 FirefoxHome = {
47 Search = true;
48 TopSites = true;
49 SponsoredTopSites = false;
50 Highlights = false;
51 Pocket = false;
52 SponsoredPocket = false;
53 Snippets = false;
54 Locked = true;
55 };
56 SearchSuggestEnabled = true;
57 FirefoxSuggest = {
58 WebSuggestions = true;
59 SponsoredSuggestions = false;
60 ImproveSuggest = false;
61 Locked = true;
62 };
63 PictureInPicture = lock-true;
64 HardwareAcceleration = true;
65 Certificates = {
66 ImportEnterpriseRoots = true;
67 };
68 ExtensionSettings = {
69 #"*".installation_mode = "blocked";
70 # uBlock Origin
71 "uBlock0@raymondhill.net" = {
72 install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
73 installation_mode = "force_installed";
74 };
75 # Bitwarden
76 "{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
77 install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
78 installation_mode = "normal_installed";
79 };
80 # SponsorBlock
81 "sponsorBlocker@ajay.app" = {
82 install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi";
83 installation_mode = "force_installed";
84 };
85 # DeArrow
86 "deArrow@ajay.app" = {
87 install_url = "https://addons.mozilla.org/firefox/downloads/latest/dearrow/latest.xpi";
88 installation_mode = "force_installed";
89 };
90 # Return Youtube Dislike
91 "{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = {
92 install_url = "https://addons.mozilla.org/firefox/downloads/latest/return-youtube-dislikes/latest.xpi";
93 installation_mode = "force_installed";
94 };
95 # Youtube Nonstop
96 "{0d7cafdd-501c-49ca-8ebb-e3341caaa55e}" = {
97 install_url = "https://addons.mozilla.org/firefox/downloads/latest/youtube-nonstop/latest.xpi";
98 installation_mode = "force_installed";
99 };
100 # TamperMonkey
101 "firefox@tampermonkey.net" = {
102 install_url = "https://addons.mozilla.org/firefox/downloads/latest/tampermonkey/latest.xpi";
103 installation_mode = "force_installed";
104 };
105 # Floccus
106 "floccus@handmadeideas.org" = {
107 install_url = "https://addons.mozilla.org/firefox/downloads/latest/floccus/latest.xpi";
108 installation_mode = "force_installed";
109 };
110 # Mailvelope
111 "jid1-AQqSMBYb0a8ADg@jetpack" = {
112 install_url = "https://addons.mozilla.org/firefox/downloads/latest/mailvelope/latest.xpi";
113 installation_mode = "force_installed";
114 };
115 };
116 Preferences = {
117 "xpinstall.whitelist.required" = lock-true;
118 "dom.webgpu.enabled" = lock-true;
119 "media.eme.enabled" = lock-true;
120 "general.autoScroll" = lock-true;
121 "general.smoothScroll" = lock-true;
122 "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false;
123 "browser.aboutConfig.showWarning" = lock-false;
124 };
125};
126}