From 5abb509c7006b636d19f63f021d40123d79e122c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 22 Feb 2026 16:37:53 -0800 Subject: [PATCH 01/38] feat: add thunderbird --- home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home.nix b/home.nix index 4ef65bd..f7ca633 100644 --- a/home.nix +++ b/home.nix @@ -99,6 +99,7 @@ fastfetch # Desktop / GUI + thunderbird vlc gimp3 inkscape @@ -282,6 +283,7 @@ # Configure Zen Browser with about:config settings programs.zen-browser = { enable = true; + suppressXdgMigrationWarning = true; policies = { Preferences = { "zen.theme.border-radius" = 0; From 621665f44618b3bd0d15ecb38f28230be01cb59b Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 22 Feb 2026 16:38:48 -0800 Subject: [PATCH 02/38] feat: add jss alias for jj show -s --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index f7ca633..92a28e1 100644 --- a/home.nix +++ b/home.nix @@ -223,6 +223,7 @@ jbs = "jj bookmark set"; jd = "jj describe"; js = "jj show"; + jss = "jj show -s"; je = "jj edit --ignore-immutable"; jall = "jj log -r 'all()'"; jn = "jj new"; From 3ad19c87969601f41a62ffad001cd583e04ab424 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 26 Feb 2026 16:22:57 -0800 Subject: [PATCH 03/38] update: flake.lock --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 28acfe9..7207390 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1771531206, - "narHash": "sha256-1R3Wx6KUkMb4x4E5UOhW9p6rqiexzSGGWxZqSHqW5n0=", + "lastModified": 1772060133, + "narHash": "sha256-VuyRptb8v1lVGMlLp4/1vRX3Efwec0CN0S6mKmDPzLg=", "owner": "nix-community", "repo": "home-manager", - "rev": "91be7cce763fa4022c7cf025a71b0c366d1b6e77", + "rev": "ce9b6e52500a0ea0ec48f0bbf6d7a3e431d9dfa4", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1771102945, - "narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=", + "lastModified": 1771756436, + "narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=", "owner": "nix-community", "repo": "home-manager", - "rev": "ff5e5d882c51f9a032479595cbab40fd04f56399", + "rev": "5bd3589390b431a63072868a90c0f24771ff4cbb", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1771423359, - "narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=", + "lastModified": 1771969195, + "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "740a22363033e9f1bb6270fbfb5a9574067af15b", + "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", "type": "github" }, "original": { @@ -58,11 +58,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1771848320, + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", "type": "github" }, "original": { @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1771562861, - "narHash": "sha256-6oT3rF68W8HERLXvFfEkpz8xpAVLKZsY1ZuR/BbDTO8=", + "lastModified": 1772085492, + "narHash": "sha256-1o9qkvOI/ThFDgEbW4Q4GVK7aV+traAIWSqP7gom7/0=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "7783a3adf3d5a9599a82c75a44c7482e70398ac2", + "rev": "6577a70551b52ef35138e5d8b87a35d40b14eeeb", "type": "github" }, "original": { From 44a1a1f792f15449bb0bde588af8d3aa22bb9e4d Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 26 Feb 2026 16:28:59 -0800 Subject: [PATCH 04/38] feat: remove claude code --- home.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home.nix b/home.nix index 92a28e1..b1f33b2 100644 --- a/home.nix +++ b/home.nix @@ -82,14 +82,12 @@ zoxide direnv nh - google-chrome # Development git gh jujutsu helix mkp224o - claude-code nixfmt # Terminal From b4cbac22b47a24c0b7875c617bcda663479779d1 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 26 Feb 2026 16:30:30 -0800 Subject: [PATCH 05/38] feat: add comma for running pakcages --- configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/configuration.nix b/configuration.nix index 1338b26..b14c5bd 100644 --- a/configuration.nix +++ b/configuration.nix @@ -284,6 +284,7 @@ docker docker-compose nh + comma ]; environment.variables.EDITOR = "helix"; From f6d9a52ce7fb4e7cdbee07ee6d91aa9c3c0101c6 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 26 Feb 2026 16:30:30 -0800 Subject: [PATCH 06/38] fix: remove adding nh in home dir --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index b1f33b2..716355e 100644 --- a/home.nix +++ b/home.nix @@ -81,7 +81,6 @@ unzip zoxide direnv - nh # Development git gh From 3becde9260f2da79782be4a5dba0e8eafcd1b492 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 26 Feb 2026 16:30:30 -0800 Subject: [PATCH 07/38] feat: Add `jab` and `jsp` aliases for jj --- home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home.nix b/home.nix index 716355e..34d3207 100644 --- a/home.nix +++ b/home.nix @@ -221,6 +221,8 @@ jd = "jj describe"; js = "jj show"; jss = "jj show -s"; + jab = "jj abandon"; + jsp = "jj split"; je = "jj edit --ignore-immutable"; jall = "jj log -r 'all()'"; jn = "jj new"; From 49ee6c3ac493687a37649fa5192970fa4595db76 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 26 Feb 2026 19:12:49 -0800 Subject: [PATCH 08/38] feat: configure comma with nix index --- configuration.nix | 3 ++- flake.lock | 33 +++++++++++++++++++++++++++------ flake.nix | 5 +++++ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/configuration.nix b/configuration.nix index b14c5bd..b16957b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -284,9 +284,10 @@ docker docker-compose nh - comma ]; + programs.nix-index-database.comma.enable = true; + environment.variables.EDITOR = "helix"; environment.sessionVariables = { TERMINAL = "kitty"; diff --git a/flake.lock b/flake.lock index 7207390..e086d27 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1772060133, - "narHash": "sha256-VuyRptb8v1lVGMlLp4/1vRX3Efwec0CN0S6mKmDPzLg=", + "lastModified": 1772161633, + "narHash": "sha256-1LxK/Ff6sPf6fWZeV9VjHeA+hRLQssO3CjuHBvGDhW8=", "owner": "nix-community", "repo": "home-manager", - "rev": "ce9b6e52500a0ea0ec48f0bbf6d7a3e431d9dfa4", + "rev": "31ea32fa1465568e95ea1288ea1dd02689c77c5e", "type": "github" }, "original": { @@ -41,6 +41,26 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1771734689, + "narHash": "sha256-/phvMgr1yutyAMjKnZlxkVplzxHiz60i4rc+gKzpwhg=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "8f590b832326ab9699444f3a48240595954a4b10", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1771969195, @@ -75,6 +95,7 @@ "root": { "inputs": { "home-manager": "home-manager", + "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "zen-browser": "zen-browser" @@ -88,11 +109,11 @@ ] }, "locked": { - "lastModified": 1772085492, - "narHash": "sha256-1o9qkvOI/ThFDgEbW4Q4GVK7aV+traAIWSqP7gom7/0=", + "lastModified": 1772158021, + "narHash": "sha256-UX/mZlmDYccOVGDIEFVvXkHRSjjSkOnYO/F4O6XDrKg=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "6577a70551b52ef35138e5d8b87a35d40b14eeeb", + "rev": "0af6863a54e1468ce1ef34bf0bbd073aed5a8b2e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0089da0..d17119d 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,10 @@ url = "github:0xc000022070/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + nix-index-database = { + url = "github:nix-community/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs@{ @@ -27,6 +31,7 @@ ./configuration.nix nixos-hardware.nixosModules.framework-amd-ai-300-series home-manager.nixosModules.home-manager + inputs.nix-index-database.nixosModules.default { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; From e9cee62aeaeb39380ab1582d7f8a34869770855d Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Fri, 27 Feb 2026 16:07:18 -0800 Subject: [PATCH 09/38] feat: add tea for forgejo development in cli --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 34d3207..b0b76e3 100644 --- a/home.nix +++ b/home.nix @@ -84,6 +84,7 @@ # Development git gh + tea jujutsu helix mkp224o From da687af88c1e6ff583af21ed51c8179e766d3c67 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Fri, 27 Feb 2026 16:07:56 -0800 Subject: [PATCH 10/38] update: update nix flake --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index e086d27..9654b69 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1772161633, - "narHash": "sha256-1LxK/Ff6sPf6fWZeV9VjHeA+hRLQssO3CjuHBvGDhW8=", + "lastModified": 1772218752, + "narHash": "sha256-G8nArvOTZXU8DRvrzAdz3Elcj6kA/vMtvY9mrGLATtA=", "owner": "nix-community", "repo": "home-manager", - "rev": "31ea32fa1465568e95ea1288ea1dd02689c77c5e", + "rev": "f3a30376bb9eb2f6f61816be7d6ed954b6d2a3b9", "type": "github" }, "original": { @@ -109,11 +109,11 @@ ] }, "locked": { - "lastModified": 1772158021, - "narHash": "sha256-UX/mZlmDYccOVGDIEFVvXkHRSjjSkOnYO/F4O6XDrKg=", + "lastModified": 1772234766, + "narHash": "sha256-DQUeBIc9MfUbCbf7No6TFQifLIRu8MgsJmjN4m9dAVM=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "0af6863a54e1468ce1ef34bf0bbd073aed5a8b2e", + "rev": "b6d2b852d2a5a9abfffcda848574ff514c2db1ec", "type": "github" }, "original": { From 2202cd39cd089875e38084670e35dc6e668cde31 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 13:14:36 -0800 Subject: [PATCH 11/38] feat: add searxng from extremist.software to zen --- home.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/home.nix b/home.nix index b0b76e3..2982c9d 100644 --- a/home.nix +++ b/home.nix @@ -291,6 +291,20 @@ "zen.theme.content-element-separation" = 0; }; }; + profiles.default = { + isDefault = true; + search = { + default = "SearXNG"; + privateDefault = "SearXNG"; + force = true; + engines = { + "SearXNG" = { + urls = [{ template = "https://search.extremist.software/search?q={searchTerms}"; }]; + definedAliases = [ "@s" ]; + }; + }; + }; + }; }; # Override the Kitty desktop entry to always launch in fullscreen From b07f9ab600aebf656c8681fdaa5453768d86865c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 13:29:17 -0800 Subject: [PATCH 12/38] feat: configure zen browsers extensions and policies --- flake.lock | 43 +++++++++++++++++++++++++++++++++++++++++++ flake.nix | 5 +++++ home.nix | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) diff --git a/flake.lock b/flake.lock index 9654b69..810383b 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -92,12 +113,34 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772311898, + "narHash": "sha256-tcytPbQci6Bvo4DXXGLtGghdFXyC+TVKG70IDlJnr9s=", + "owner": "nix-community", + "repo": "NUR", + "rev": "a91b651e8469c0ea0b52b3851c276b0b1f85b7de", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", + "nur": "nur", "zen-browser": "zen-browser" } }, diff --git a/flake.nix b/flake.nix index d17119d..9da10f5 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,10 @@ url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; + nur = { + url = "github:nix-community/NUR"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs@{ @@ -41,6 +45,7 @@ } { nixpkgs.overlays = [ + inputs.nur.overlays.default (final: prev: { antigravity = prev.antigravity.overrideAttrs (oldAttrs: rec { diff --git a/home.nix b/home.nix index 2982c9d..e220eb8 100644 --- a/home.nix +++ b/home.nix @@ -286,6 +286,29 @@ enable = true; suppressXdgMigrationWarning = true; policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DontCheckDefaultBrowser = true; + DisableAppUpdate = true; + DisableMasterPasswordCreation = true; + DisablePasswordReveal = true; + DisableProfileImport = true; + ExtensionUpdate = false; + OfferToSaveLogins = false; + DisableFirefoxAccounts = true; + DisableFormHistory = true; + DisableSafeMode = true; + DisableSetDesktopBackground = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + HardwareAcceleration = true; + NoDefaultBookmarks = true; + PasswordManagerEnabled = false; Preferences = { "zen.theme.border-radius" = 0; "zen.theme.content-element-separation" = 0; @@ -293,6 +316,26 @@ }; profiles.default = { isDefault = true; + settings = { + "identity.fxaccounts.enabled" = false; + }; + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + onepassword-password-manager + sponsorblock + darkreader + vimium + return-youtube-dislikes + react-devtools + firefox-color + pay-by-privacy + translate-web-pages + user-agent-string-switcher + copy-selected-tabs-to-clipboard + dearrow + violentmonkey + tst-indent-line + ]; search = { default = "SearXNG"; privateDefault = "SearXNG"; From cbaa366f3d560f03f62ff3b9c2076d9eb1801bf6 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 13:48:30 -0800 Subject: [PATCH 13/38] feat: add butt for beyla.noise interfacing --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index e220eb8..0d08f60 100644 --- a/home.nix +++ b/home.nix @@ -113,6 +113,7 @@ font-manager antigravity-fhs appimage-run + butt # GNOME Extensions gnomeExtensions.hide-top-bar From 4bba217fd05d360c95425385bd9f74014f048a59 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 13:55:18 -0800 Subject: [PATCH 14/38] fix: remove listed packages that are already enabled --- configuration.nix | 3 +-- home.nix | 15 +-------------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/configuration.nix b/configuration.nix index b16957b..a9cf3a0 100644 --- a/configuration.nix +++ b/configuration.nix @@ -278,14 +278,13 @@ # $ nix search wget environment.systemPackages = with pkgs; [ git - helix # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget vim - docker docker-compose nh ]; + programs.steam.enable = true; programs.nix-index-database.comma.enable = true; environment.variables.EDITOR = "helix"; diff --git a/home.nix b/home.nix index 0d08f60..3dd372f 100644 --- a/home.nix +++ b/home.nix @@ -74,25 +74,17 @@ home.packages = with pkgs; [ # CLI Tools bat - eza ripgrep tree - wget unzip - zoxide - direnv + # Development - git gh tea - jujutsu - helix mkp224o nixfmt # Terminal - kitty - zellij nerd-fonts.commit-mono fastfetch @@ -107,12 +99,10 @@ element-desktop zulip logseq - steam prismlauncher nemo-with-extensions font-manager antigravity-fhs - appimage-run butt # GNOME Extensions @@ -121,9 +111,6 @@ gnomeExtensions.system-monitor-next gnomeExtensions.clipboard-indicator gnomeExtensions.emoji-copy - - # Virtualization/Containerization - docker ]; From 62461fe8d7aa0bb2c3c1dab609bf61de14fd3d97 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 13:55:39 -0800 Subject: [PATCH 15/38] update: flake update --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 810383b..701f0ae 100644 --- a/flake.lock +++ b/flake.lock @@ -121,11 +121,11 @@ ] }, "locked": { - "lastModified": 1772311898, - "narHash": "sha256-tcytPbQci6Bvo4DXXGLtGghdFXyC+TVKG70IDlJnr9s=", + "lastModified": 1772315374, + "narHash": "sha256-OQUKXqb5orWghLM0Ttq9Yb0BTvPHqcbHCacm3Mg7nSs=", "owner": "nix-community", "repo": "NUR", - "rev": "a91b651e8469c0ea0b52b3851c276b0b1f85b7de", + "rev": "7b95523b69ea5c3ff1379908bc0203a01e1f8430", "type": "github" }, "original": { @@ -152,11 +152,11 @@ ] }, "locked": { - "lastModified": 1772234766, - "narHash": "sha256-DQUeBIc9MfUbCbf7No6TFQifLIRu8MgsJmjN4m9dAVM=", + "lastModified": 1772306482, + "narHash": "sha256-092P58kRKiLBn0eg4eI67frffMkKiDhOa1ZOREmMeB4=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "b6d2b852d2a5a9abfffcda848574ff514c2db1ec", + "rev": "2e593ac6926cbf44adc8c9ef785da024812d2467", "type": "github" }, "original": { From 58f40838e03be0f43cceadc79cad5c6438331d55 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 14:02:46 -0800 Subject: [PATCH 16/38] feat: remove butt because I'm not ready yet --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 3dd372f..133997a 100644 --- a/home.nix +++ b/home.nix @@ -103,7 +103,6 @@ nemo-with-extensions font-manager antigravity-fhs - butt # GNOME Extensions gnomeExtensions.hide-top-bar From 632089c4c5762525f2b03d2cd9a97837f7300d17 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 14:02:46 -0800 Subject: [PATCH 17/38] feat: configure z to l --- home.nix | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/home.nix b/home.nix index 133997a..acbb528 100644 --- a/home.nix +++ b/home.nix @@ -181,6 +181,10 @@ icons = "always"; enableBashIntegration = true; git = true; + extraOptions = [ + "--group-directories-first" + "--all" + ]; }; programs.zoxide = { @@ -197,10 +201,7 @@ programs.bash = { enable = true; shellAliases = { - ll = "eza -l"; - la = "eza -la"; - ".." = "cd .."; - c = "cd && ls"; + ".." = "z .."; j = "jj"; jgf = "jj git fetch"; jgp = "jj git push"; @@ -217,10 +218,20 @@ jdiff = "jj diff"; jsq = "jj squash"; nhs = "nh os switch"; - nd = "nix develop"; h = "hx"; vanity = "mkp224o-amd64-64-24k -d noisebridgevanitytor noisebridge{2..7}"; }; + initExtra = '' + # Automatically list directory contents when changing directories + auto_l_on_cd() { + if [ "$__LAST_PWD" != "$PWD" ]; then + l + __LAST_PWD="$PWD" + fi + } + export PROMPT_COMMAND="auto_l_on_cd; $PROMPT_COMMAND" + __LAST_PWD="$PWD" + ''; }; programs.kitty = { From 114199ec064302210040dbe519510081d0d848a4 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 14:27:13 -0800 Subject: [PATCH 18/38] feat: add . as an alias for .. --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index acbb528..f67f5f4 100644 --- a/home.nix +++ b/home.nix @@ -201,6 +201,7 @@ programs.bash = { enable = true; shellAliases = { + "." = "z .."; ".." = "z .."; j = "jj"; jgf = "jj git fetch"; From 66ffe8350c909d813eadc3e8bff00e867b968e7c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 15:30:32 -0800 Subject: [PATCH 19/38] feat: add davinci resolve --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index f67f5f4..24131b0 100644 --- a/home.nix +++ b/home.nix @@ -103,6 +103,7 @@ nemo-with-extensions font-manager antigravity-fhs + davinci-resolve # GNOME Extensions gnomeExtensions.hide-top-bar From 50c1504d47619da61b3fd41f3fbe14eddfb040a9 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 16:30:45 -0800 Subject: [PATCH 20/38] feat: make nhs a direnv script --- .envrc | 1 + flake.nix | 14 ++++++++++++++ home.nix | 3 --- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/flake.nix b/flake.nix index 9da10f5..2d863e5 100644 --- a/flake.nix +++ b/flake.nix @@ -64,5 +64,19 @@ ]; }; }; + + devShells.x86_64-linux.default = + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + nhs = pkgs.writeShellScriptBin "nhs" '' + nh os switch --hostname framework --impure path:. "$@" + ''; + in + pkgs.mkShell { + packages = [ + pkgs.nh + nhs + ]; + }; }; } diff --git a/home.nix b/home.nix index 24131b0..9a68ede 100644 --- a/home.nix +++ b/home.nix @@ -119,8 +119,6 @@ OCL_ICD_VENDORS = "/etc/OpenCL/vendors"; POCL_DEVICES = "cpu"; BROWSER = "zen"; - # Set FLAKE for nh - NH_FLAKE = "${config.home.homeDirectory}/Documents/nix-config"; }; programs.helix = { @@ -219,7 +217,6 @@ jn = "jj new"; jdiff = "jj diff"; jsq = "jj squash"; - nhs = "nh os switch"; h = "hx"; vanity = "mkp224o-amd64-64-24k -d noisebridgevanitytor noisebridge{2..7}"; }; From 9edc8b00380e0a255715901fdc0e6c7c6c322338 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 16:30:45 -0800 Subject: [PATCH 21/38] feat: update hardware firmware to use amd --- configuration.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/configuration.nix b/configuration.nix index a9cf3a0..b1bc85c 100644 --- a/configuration.nix +++ b/configuration.nix @@ -75,8 +75,13 @@ hardware.graphics = { enable = true; enable32Bit = true; - # Add OpenCL support for CPU-based operations - extraPackages = with pkgs; [ pocl ]; + # Add OpenCL support via Rusticl (recommended by NixOS wiki for DaVinci Resolve) + extraPackages = with pkgs; [ mesa.opencl ]; + }; + + # Enable Rusticl for AMD Radeon GPUs (DaVinci Resolve) + environment.variables = { + RUSTICL_ENABLE = "radeonsi"; }; # Enable keyd for key remapping From d68735aade2618549e94f78cb00da10ed4a55a1c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sat, 28 Feb 2026 19:00:57 -0800 Subject: [PATCH 22/38] feat: add hyfetch to be gay and do crime --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 9a68ede..f0c5d19 100644 --- a/home.nix +++ b/home.nix @@ -77,7 +77,7 @@ ripgrep tree unzip - + hyfetch # Development gh tea From 8da3f2a67508fa94ee3c0a3c93176033451c8740 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 1 Mar 2026 11:45:14 -0800 Subject: [PATCH 23/38] feat: add zulip client --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index f0c5d19..7eb25c4 100644 --- a/home.nix +++ b/home.nix @@ -104,6 +104,7 @@ font-manager antigravity-fhs davinci-resolve + zulip # GNOME Extensions gnomeExtensions.hide-top-bar From 0561ba4c38a25a85d11605cd5978f55d5a1d1840 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 1 Mar 2026 12:13:17 -0800 Subject: [PATCH 24/38] feat: add vencord client --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 7eb25c4..3ba8c47 100644 --- a/home.nix +++ b/home.nix @@ -105,6 +105,7 @@ antigravity-fhs davinci-resolve zulip + vesktop # GNOME Extensions gnomeExtensions.hide-top-bar From 4069287840e095455932f804be4f7a0ed743552c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 16:37:54 -0800 Subject: [PATCH 25/38] feat: replace davinci resolve with kdenlive --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index 3ba8c47..794c2fb 100644 --- a/home.nix +++ b/home.nix @@ -103,7 +103,7 @@ nemo-with-extensions font-manager antigravity-fhs - davinci-resolve + kdePackages.kdenlive zulip vesktop From 5811f32beb6a0838ae52c8ea6f6edd59d085feae Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 18:26:21 -0800 Subject: [PATCH 26/38] feat: add claude code! --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 794c2fb..1425f93 100644 --- a/home.nix +++ b/home.nix @@ -103,6 +103,7 @@ nemo-with-extensions font-manager antigravity-fhs + claude-code kdePackages.kdenlive zulip vesktop From ce8b7972b5ac4d8c5d17b72318864d6aa478e365 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 18:43:21 -0800 Subject: [PATCH 27/38] feat: set gtk3 to use dark mode by default --- home.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home.nix b/home.nix index 1425f93..4789efc 100644 --- a/home.nix +++ b/home.nix @@ -383,6 +383,11 @@ }; }; + gtk = { + enable = true; + gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; + }; + # Enable rootless Podman with Home Manager services.podman = { enable = true; From fb7f3b5d15d41b11350460c8250980a89d7d83c2 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 18:53:01 -0800 Subject: [PATCH 28/38] feat: add obs and virtual camera support --- configuration.nix | 7 +++++++ home.nix | 1 + 2 files changed, 8 insertions(+) diff --git a/configuration.nix b/configuration.nix index b1bc85c..287184c 100644 --- a/configuration.nix +++ b/configuration.nix @@ -248,6 +248,13 @@ # RAM optimizations for 96GB system # Disable swap usage (set swappiness to 0) - with 96GB RAM, never need swap + # v4l2loopback for OBS Virtual Camera + boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; + boot.kernelModules = [ "v4l2loopback" ]; + boot.extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Virtual Camera" exclusive_caps=1 + ''; + boot.kernel.sysctl = { "vm.swappiness" = 0; # Never swap to disk "vm.vfs_cache_pressure" = 50; # Keep more filesystem cache in RAM diff --git a/home.nix b/home.nix index 4789efc..758dca3 100644 --- a/home.nix +++ b/home.nix @@ -107,6 +107,7 @@ kdePackages.kdenlive zulip vesktop + obs-studio # GNOME Extensions gnomeExtensions.hide-top-bar From 5768b554e36d28652c43340646787de9917c64ce Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 18:53:01 -0800 Subject: [PATCH 29/38] feat: add a alias "c" for claude --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 758dca3..37a2e85 100644 --- a/home.nix +++ b/home.nix @@ -204,6 +204,7 @@ programs.bash = { enable = true; shellAliases = { + "c" = "claude"; "." = "z .."; ".." = "z .."; j = "jj"; From f15ffa7e61f884ab30741e87e74cfdf5700eb7e5 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 19:13:19 -0800 Subject: [PATCH 30/38] feat: add google chrome :( --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 37a2e85..72d7266 100644 --- a/home.nix +++ b/home.nix @@ -108,6 +108,7 @@ zulip vesktop obs-studio + google-chrome # GNOME Extensions gnomeExtensions.hide-top-bar From 4f4ca386790bc7ff7066f9c70f6c9e40b875268f Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 22:07:41 -0800 Subject: [PATCH 31/38] update: update nix flake --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 701f0ae..4d22f8a 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1772218752, - "narHash": "sha256-G8nArvOTZXU8DRvrzAdz3Elcj6kA/vMtvY9mrGLATtA=", + "lastModified": 1772516620, + "narHash": "sha256-2r4cKdqCVlQkvcTcLUMxmsmAYZZxCMd//w/PnDnukTE=", "owner": "nix-community", "repo": "home-manager", - "rev": "f3a30376bb9eb2f6f61816be7d6ed954b6d2a3b9", + "rev": "2b9504d5a0169d4940a312abe2df2c5658db8de9", "type": "github" }, "original": { @@ -49,11 +49,11 @@ ] }, "locked": { - "lastModified": 1771756436, - "narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=", + "lastModified": 1772330611, + "narHash": "sha256-UZjPc/d5XRxvjDbk4veAO4XFdvx6BUum2l40V688Xq8=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bd3589390b431a63072868a90c0f24771ff4cbb", + "rev": "58fd7ff0eec2cda43e705c4c0585729ec471d400", "type": "github" }, "original": { @@ -69,11 +69,11 @@ ] }, "locked": { - "lastModified": 1771734689, - "narHash": "sha256-/phvMgr1yutyAMjKnZlxkVplzxHiz60i4rc+gKzpwhg=", + "lastModified": 1772341813, + "narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "8f590b832326ab9699444f3a48240595954a4b10", + "rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f", "type": "github" }, "original": { @@ -99,11 +99,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1771848320, - "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", + "lastModified": 1772433332, + "narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fc6539b481e1d2569f25f8799236694180c0993", + "rev": "cf59864ef8aa2e178cccedbe2c178185b0365705", "type": "github" }, "original": { @@ -121,11 +121,11 @@ ] }, "locked": { - "lastModified": 1772315374, - "narHash": "sha256-OQUKXqb5orWghLM0Ttq9Yb0BTvPHqcbHCacm3Mg7nSs=", + "lastModified": 1772517253, + "narHash": "sha256-Z0JxYlGXMFnCJgSGCamKD9NQbL/O7z4wz0/slUR2kIw=", "owner": "nix-community", "repo": "NUR", - "rev": "7b95523b69ea5c3ff1379908bc0203a01e1f8430", + "rev": "4411f3ec0cac5431eb409da2481bc97f7223ad6a", "type": "github" }, "original": { @@ -152,11 +152,11 @@ ] }, "locked": { - "lastModified": 1772306482, - "narHash": "sha256-092P58kRKiLBn0eg4eI67frffMkKiDhOa1ZOREmMeB4=", + "lastModified": 1772517053, + "narHash": "sha256-aBuL2TFnyBLR+t6iBlKnTWWzprXYKQQIaV0IuCSPPeE=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "2e593ac6926cbf44adc8c9ef785da024812d2467", + "rev": "32e9673aee2ae994ced561247918952398a3e933", "type": "github" }, "original": { From 3314dbaa9c5382c698a79ad11fd001efc2661453 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Mon, 2 Mar 2026 22:19:36 -0800 Subject: [PATCH 32/38] fix: remove chrome --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 72d7266..37a2e85 100644 --- a/home.nix +++ b/home.nix @@ -108,7 +108,6 @@ zulip vesktop obs-studio - google-chrome # GNOME Extensions gnomeExtensions.hide-top-bar From 7089a2c05ad4a4b1c9e8004731cd67ebb018a9d5 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Tue, 3 Mar 2026 17:26:15 -0800 Subject: [PATCH 33/38] feat: add alias for nix flake update nfu --- home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home.nix b/home.nix index 37a2e85..d76f1eb 100644 --- a/home.nix +++ b/home.nix @@ -204,6 +204,7 @@ programs.bash = { enable = true; shellAliases = { + "nfu" = "nix flake update"; "c" = "claude"; "." = "z .."; ".." = "z .."; From 19b9521728cb408ba94bcada237ed40cbbe8c60f Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Tue, 3 Mar 2026 17:26:15 -0800 Subject: [PATCH 34/38] feat: use claude code alias --- flake.lock | 21 +++++++++++++++++++++ flake.nix | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/flake.lock b/flake.lock index 4d22f8a..6d83989 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "claude-code-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772252606, + "narHash": "sha256-SiIhFq4XbD3LmODQ2mTtakRBnjBn/KoSgAOId1cL1Ks=", + "owner": "ryoppippi", + "repo": "claude-code-overlay", + "rev": "b1ebf027412136bbbe4202741c3d48721644bc4b", + "type": "github" + }, + "original": { + "owner": "ryoppippi", + "repo": "claude-code-overlay", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -136,6 +156,7 @@ }, "root": { "inputs": { + "claude-code-overlay": "claude-code-overlay", "home-manager": "home-manager", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", diff --git a/flake.nix b/flake.nix index 2d863e5..a4d2396 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,10 @@ url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; + claude-code-overlay = { + url = "github:ryoppippi/claude-code-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = inputs@{ @@ -46,6 +50,7 @@ { nixpkgs.overlays = [ inputs.nur.overlays.default + inputs.claude-code-overlay.overlays.default (final: prev: { antigravity = prev.antigravity.overrideAttrs (oldAttrs: rec { From 00aa80ddc0e993beb4f3f4d37de9a7464ccae10d Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Tue, 3 Mar 2026 17:28:03 -0800 Subject: [PATCH 35/38] update: nix flake update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 6d83989..1742cfa 100644 --- a/flake.lock +++ b/flake.lock @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1772516620, - "narHash": "sha256-2r4cKdqCVlQkvcTcLUMxmsmAYZZxCMd//w/PnDnukTE=", + "lastModified": 1772569491, + "narHash": "sha256-bdr6ueeXO1Xg91sFkuvaysYF0mVdwHBpdyhTjBEWv+s=", "owner": "nix-community", "repo": "home-manager", - "rev": "2b9504d5a0169d4940a312abe2df2c5658db8de9", + "rev": "924e61f5c2aeab38504028078d7091077744ab17", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1772433332, - "narHash": "sha256-izhTDFKsg6KeVBxJS9EblGeQ8y+O8eCa6RcW874vxEc=", + "lastModified": 1772542754, + "narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cf59864ef8aa2e178cccedbe2c178185b0365705", + "rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4", "type": "github" }, "original": { @@ -141,11 +141,11 @@ ] }, "locked": { - "lastModified": 1772517253, - "narHash": "sha256-Z0JxYlGXMFnCJgSGCamKD9NQbL/O7z4wz0/slUR2kIw=", + "lastModified": 1772583385, + "narHash": "sha256-3m4A+B/CnrG3xUeZbOw1OoLdSvB+7I/zZTW4fLM1go0=", "owner": "nix-community", "repo": "NUR", - "rev": "4411f3ec0cac5431eb409da2481bc97f7223ad6a", + "rev": "29adb5e8129c1020e59ca0a76b2a40d0e4a74eb1", "type": "github" }, "original": { From 044cc7da4a302b41c4351e0a3aae1206f65532a0 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Wed, 4 Mar 2026 15:59:06 -0800 Subject: [PATCH 36/38] fix have nemo be the only file explorer --- configuration.nix | 1 + home.nix | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/configuration.nix b/configuration.nix index 287184c..d23e5d6 100644 --- a/configuration.nix +++ b/configuration.nix @@ -144,6 +144,7 @@ geary # Email gnome-tour gnome-font-viewer # Have font-manager + nautilus # Using Nemo ]; # Configure keymap in X11 diff --git a/home.nix b/home.nix index d76f1eb..922c84a 100644 --- a/home.nix +++ b/home.nix @@ -101,6 +101,7 @@ logseq prismlauncher nemo-with-extensions + file-roller font-manager antigravity-fhs claude-code @@ -364,6 +365,28 @@ comment = "Fast, featureful, GPU based terminal emulator"; }; + # Extract archives on double-click + xdg.desktopEntries.extract-here = { + name = "Extract Here"; + exec = "file-roller --extract-here %U"; + icon = "file-roller"; + type = "Application"; + categories = ["Utility"]; + mimeType = [ + "application/zip" + "application/x-tar" + "application/x-compressed-tar" + "application/x-bzip-compressed-tar" + "application/x-xz-compressed-tar" + "application/x-zstd-compressed-tar" + "application/gzip" + "application/x-7z-compressed" + "application/x-rar" + "application/x-rar-compressed" + ]; + noDisplay = true; + }; + # Autostart applications using proper desktop files xdg.autostart = { enable = true; @@ -383,6 +406,16 @@ "x-scheme-handler/about" = "zen.desktop"; "x-scheme-handler/unknown" = "zen.desktop"; "inode/directory" = "nemo.desktop"; + "application/zip" = "extract-here.desktop"; + "application/x-tar" = "extract-here.desktop"; + "application/x-compressed-tar" = "extract-here.desktop"; + "application/x-bzip-compressed-tar" = "extract-here.desktop"; + "application/x-xz-compressed-tar" = "extract-here.desktop"; + "application/x-zstd-compressed-tar" = "extract-here.desktop"; + "application/gzip" = "extract-here.desktop"; + "application/x-7z-compressed" = "extract-here.desktop"; + "application/x-rar" = "extract-here.desktop"; + "application/x-rar-compressed" = "extract-here.desktop"; }; }; From acecc562295051130161d477ef427f8f2f48f166 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Wed, 4 Mar 2026 16:55:15 -0800 Subject: [PATCH 37/38] fix: a ton of different changes home.nix: - Bumped home.stateVersion from "23.05" to "25.05" - Removed the nixConfigDirectory let binding and verbose comments, simplified to dconf.settings = { - Removed org/gnome/desktop/background block (cat.png wallpaper) - Removed antigravity-fhs from packages - Removed duplicate zulip entry configuration.nix: - Removed "usbcore.autosuspend=-1" from boot.kernelParams - Added targeted udev rules for Framework fingerprint reader (27a6) and USB-C hub (32ac) autosuspend - Added services.fstrim.enable = true for NVMe/SSD health - Added nix.optimise.automatic = true for periodic store deduplication - Removed duplicate comment and entire cat.png activation script hardware-configuration.nix: - Replaced 96GB swapfile config with swapDevices = [ ] flake.nix: - Removed the antigravity overlay (override + fhs binding) --- configuration.nix | 26 +++++++++----------------- flake.nix | 13 ------------- hardware-configuration.nix | 9 +-------- home.nix | 20 ++------------------ 4 files changed, 12 insertions(+), 56 deletions(-) diff --git a/configuration.nix b/configuration.nix index d23e5d6..31d792b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -13,8 +13,6 @@ # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - boot.kernelParams = [ "usbcore.autosuspend=-1" ]; - # Boot time optimizations boot.loader.timeout = 0; # Boot immediately without waiting for user input @@ -191,6 +189,9 @@ # Framework-specific services # Enable fwupd for BIOS updates (distributed through LVFS) services.fwupd.enable = true; + + # Enable periodic TRIM for NVMe/SSD health + services.fstrim.enable = true; # Enable automatic garbage collection to prevent old generations from slowing boot nix.gc = { @@ -199,6 +200,7 @@ options = "--delete-older-than 7d"; }; nix.settings.auto-optimise-store = true; + nix.optimise.automatic = true; # Optimize Nix for RAM - use more memory for builds nix.settings = { @@ -339,11 +341,16 @@ }; # GameCube adapter udev rules for Slippi/Dolphin + # Disable USB autosuspend for Framework's problematic devices (fingerprint reader, USB-C hub) services.udev.extraRules = '' # GameCube adapter USB device (vendor ID 057e, product ID 0337) SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666" # GameCube adapter HID device (needed for Dolphin to access controllers) KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0337", MODE="0666", GROUP="input" + # Disable autosuspend for Framework fingerprint reader + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="27a6", ATTR{power/autosuspend}="-1" + # Disable autosuspend for Framework USB-C hub controllers + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="32ac", ATTR{power/autosuspend}="-1" ''; # Open ports in the firewall. @@ -360,19 +367,4 @@ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "25.05"; # Did you read the comment? - # Set user profile picture for GNOME - # Set user profile picture for GNOME - system.activationScripts.script.text = '' - mkdir -p /var/lib/AccountsService/{icons,users} - img="/home/jet/Documents/nix-config/cat.png" - if [ -f "$img" ]; then - cp "$img" /var/lib/AccountsService/icons/jet - echo -e "[User]\nIcon=/var/lib/AccountsService/icons/jet\n" > /var/lib/AccountsService/users/jet - chown root:root /var/lib/AccountsService/users/jet - chmod 0600 /var/lib/AccountsService/users/jet - chown root:root /var/lib/AccountsService/icons/jet - chmod 0444 /var/lib/AccountsService/icons/jet - fi - ''; - } diff --git a/flake.nix b/flake.nix index a4d2396..beae9c2 100644 --- a/flake.nix +++ b/flake.nix @@ -51,19 +51,6 @@ nixpkgs.overlays = [ inputs.nur.overlays.default inputs.claude-code-overlay.overlays.default - (final: prev: { - - antigravity = prev.antigravity.overrideAttrs (oldAttrs: rec { - version = "1.18.3"; - src = prev.fetchurl { - url = "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.18.3-4739469533380608/linux-x64/Antigravity.tar.gz"; - hash = "sha256:0f4n3i45gjr36hidpvibzn3p2jla2r7wg91ybmf2akafjn6f8zsc"; - }; - }); - - antigravity-fhs = final.antigravity.fhs; - - }) ]; } ]; diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 15c86a4..09d89e5 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -25,14 +25,7 @@ options = [ "fmask=0077" "dmask=0077" ]; }; - # Add swap file for hibernation support - # This creates a 96GB swap file to match your RAM capacity - swapDevices = [ - { - device = "/swapfile"; - size = 98304; # 96GB in MB - } - ]; + swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/home.nix b/home.nix index 922c84a..b97ad72 100644 --- a/home.nix +++ b/home.nix @@ -5,19 +5,10 @@ home.username = "jet"; home.homeDirectory = "/home/jet"; - home.stateVersion = "23.05"; + home.stateVersion = "25.05"; - # Define configuration directory - # Note: we can't use config.home.homeDirectory in the let block if we're also defining it in the set - # recursively without strict evaluation issues sometimes, but here it should be fine if we just use the string. - # Safer to just use /home/jet or home.homeDirectory if it was passed in. - # Actually, `config.home.homeDirectory` is safe to use inside simple attribute sets. - # Let's use a let binding for clarity. - # Configure GNOME settings - dconf.settings = let - nixConfigDirectory = "${config.home.homeDirectory}/Documents/nix-config"; - in { + dconf.settings = { "org/gnome/desktop/interface" = { clock-format = "12h"; clock-show-weekday = true; @@ -28,11 +19,6 @@ "org/gnome/system/location" = { enabled = true; }; - "org/gnome/desktop/background" = { - picture-uri = "file://${nixConfigDirectory}/cat.png"; - picture-uri-dark = "file://${nixConfigDirectory}/cat.png"; - picture-options = "wallpaper"; - }; "org/gnome/settings-daemon/plugins/power" = { sleep-inactive-ac-type = "nothing"; }; @@ -103,10 +89,8 @@ nemo-with-extensions file-roller font-manager - antigravity-fhs claude-code kdePackages.kdenlive - zulip vesktop obs-studio From e826d26833ac4ee8a51564e489e1b10a0ec59bd3 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Thu, 5 Mar 2026 13:38:53 -0800 Subject: [PATCH 38/38] feat: make direnv reload and allow aliases dr and da --- home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home.nix b/home.nix index b97ad72..0d7e113 100644 --- a/home.nix +++ b/home.nix @@ -189,6 +189,8 @@ programs.bash = { enable = true; shellAliases = { + "dr" = "direnv reload"; + "da" = "direnv allow"; "nfu" = "nix flake update"; "c" = "claude"; "." = "z ..";