From 966dd1bfffaf67a21c8b85a81f259b08a1fb1fc5 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 01/12] fix: remove extra curlies --- configuration.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/configuration.nix b/configuration.nix index fd81b0b..4290d76 100644 --- a/configuration.nix +++ b/configuration.nix @@ -21,9 +21,7 @@ networking.networkmanager.enable = true; - services.resolved = { - enable = true; - }; + services.resolved.enable = true; networking.firewall.enable = true; # Required for Tailscale From f5b62c00534ab566261bb06cb070635a1acd2859 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 02/12] fix: remove unused opencl configurations --- home.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/home.nix b/home.nix index ae39f13..6544ef1 100644 --- a/home.nix +++ b/home.nix @@ -111,13 +111,9 @@ gnomeExtensions.wifi-qrcode ]; - # Set environment variables for OpenCL home.sessionVariables = { - OCL_ICD_VENDORS = "/etc/OpenCL/vendors"; - POCL_DEVICES = "cpu"; BROWSER = "zen"; TERMINAL = "kitty"; - RUSTICL_ENABLE = "radeonsi"; }; programs.helix = { From 23b2ac9a335cbcf2432f25783509be7d55a98f53 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 03/12] feat: configure to only keep 3 configurations/gens --- configuration.nix | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/configuration.nix b/configuration.nix index 4290d76..97e3edf 100644 --- a/configuration.nix +++ b/configuration.nix @@ -4,6 +4,7 @@ imports = [ ./hardware-configuration.nix ]; boot.loader.systemd-boot.enable = true; + boot.loader.systemd-boot.configurationLimit = 3; boot.loader.efi.canTouchEfiVariables = true; boot.loader.timeout = 0; @@ -144,10 +145,16 @@ }; nixpkgs.config.allowUnfree = true; - nix.settings.experimental-features = [ - "nix-command" - "flakes" - ]; + nix.settings = { + experimental-features = [ + "nix-command" + "flakes" + ]; + auto-optimise-store = true; + max-jobs = "auto"; + cores = 0; + build-users-group = "nixbld"; + }; # Framework-specific services # Enable fwupd for BIOS updates (distributed through LVFS) @@ -156,19 +163,22 @@ # Enable periodic TRIM for NVMe/SSD health services.fstrim.enable = true; - # Enable automatic garbage collection to prevent old generations from slowing boot - nix.gc = { - automatic = true; - dates = "daily"; - options = "--delete-older-than 7d"; + # Keep only last 10 generations, GC everything else (daily) + systemd.services.nix-cleanup = { + description = "Nix generation cleanup and garbage collection"; + serviceConfig.Type = "oneshot"; + script = '' + ${pkgs.nix}/bin/nix-env --delete-generations +3 -p /nix/var/nix/profiles/system + ${pkgs.nix}/bin/nix-env --delete-generations +3 -p /nix/var/nix/profiles/per-user/jet/home-manager || true + ${pkgs.nix}/bin/nix-store --gc + ''; }; - nix.settings.auto-optimise-store = true; - nix.optimise.automatic = true; - - nix.settings = { - max-jobs = "auto"; - cores = 0; - build-users-group = "nixbld"; + systemd.timers.nix-cleanup = { + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = "daily"; + Persistent = true; + }; }; # Power management for laptop From 4ac1fd148994ee6b811d4cc2f294a8150f61910e Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 04/12] fix: remove default languages already set --- configuration.nix | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/configuration.nix b/configuration.nix index 97e3edf..16ebf9e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -33,18 +33,6 @@ time.timeZone = "America/Los_Angeles"; i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - services.xserver.enable = true; # Framework Laptop 13 AMD AI 300 Series specific configurations From 02a273f2f723057fa1091b3178864c3c1265de34 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 05/12] fix: remove unused comments --- configuration.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/configuration.nix b/configuration.nix index 16ebf9e..3083c5b 100644 --- a/configuration.nix +++ b/configuration.nix @@ -40,8 +40,6 @@ hardware.graphics = { enable = true; enable32Bit = true; - # Add OpenCL support via Rusticl (recommended by NixOS wiki for DaVinci Resolve) - extraPackages = with pkgs; [ mesa.opencl ]; }; # Enable keyd for key remapping @@ -108,7 +106,6 @@ services.xserver.xkb = { layout = "us"; - variant = ""; }; services.printing.enable = true; From c634b77ae1f366423a1e52fadc891061ddf98a97 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 06/12] fix: make power management work for AMD chip --- configuration.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/configuration.nix b/configuration.nix index 3083c5b..f12f59e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -191,18 +191,10 @@ }; }; - # Enable thermald for thermal management - services.thermald.enable = true; - - # Framework Laptop 13 specific power optimizations - # Enable power-profiles-daemon for better AMD power management - # (Note: This conflicts with auto-cpufreq, so we'll keep auto-cpufreq disabled) +# Disable power-profiles-daemon (conflicts with auto-cpufreq) services.power-profiles-daemon.enable = false; - # AMD specific power management - powerManagement.cpuFreqGovernor = "powersave"; - - # Enable power management + # Enable power management (governor managed dynamically by auto-cpufreq) powerManagement.enable = true; # v4l2loopback for OBS Virtual Camera From 2e4b2e8a80de59da98bc7a15dbec4eb50e92b324 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 07/12] fix: remove swap because I have alot of mem --- configuration.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configuration.nix b/configuration.nix index f12f59e..9440909 100644 --- a/configuration.nix +++ b/configuration.nix @@ -206,8 +206,7 @@ # RAM optimizations for 96GB system boot.kernel.sysctl = { - "vm.swappiness" = 0; # Never swap to disk - "vm.vfs_cache_pressure" = 50; # Keep more filesystem cache in RAM +"vm.vfs_cache_pressure" = 50; # Keep more filesystem cache in RAM "vm.dirty_ratio" = 15; # Write to disk when 15% of RAM is dirty "vm.dirty_background_ratio" = 5; # Start writing when 5% dirty }; From 1815ab4b887bc02d7956b60a713b1ff3c0da176c Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 08/12] fix: remove unused lib input --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 6544ef1..208c38d 100644 --- a/home.nix +++ b/home.nix @@ -2,7 +2,6 @@ config, pkgs, inputs, - lib, ... }: From f396f4ff74ab6d90fcd702807cc8553016e5f69b Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 09/12] fix: remove dangerous alias --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 208c38d..a71689f 100644 --- a/home.nix +++ b/home.nix @@ -195,7 +195,6 @@ "da" = "direnv allow"; "nfu" = "nix flake update"; "c" = "claude"; - "." = "z .."; ".." = "z .."; j = "jj"; jgf = "jj git fetch"; From 99b88770213f853f975c84403d501a8c07214fba Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 10/12] remove possibly dangerous control c alias --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index a71689f..967ed2a 100644 --- a/home.nix +++ b/home.nix @@ -239,7 +239,6 @@ }; keybindings = { "ctrl+shift+c" = "copy_and_clear_or_interrupt"; - "ctrl+c" = "copy_and_clear_or_interrupt"; "ctrl+shift+v" = "paste_from_clipboard"; "ctrl+v" = "paste_from_clipboard"; }; From 8d2981f1d2e6163e0460a5eef33861ed8a2d5de3 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 11/12] fix: remove depricated warning config --- home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home.nix b/home.nix index 967ed2a..f3b9ad6 100644 --- a/home.nix +++ b/home.nix @@ -274,7 +274,6 @@ # Configure Zen Browser with about:config settings programs.zen-browser = { enable = true; - suppressXdgMigrationWarning = true; policies = { DisableTelemetry = true; DisableFirefoxStudies = true; From 97c8a8b2b9298e9dc107b056d7e3d6b074e59ae8 Mon Sep 17 00:00:00 2001 From: Jet Pham Date: Sun, 8 Mar 2026 19:04:38 -0700 Subject: [PATCH 12/12] update: nfu --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index b42ce85..2139a8d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1772674218, - "narHash": "sha256-1oc5zUFOjeK2Bro5cdCe3Fc/uzQIHyxfKMDZQ+Zm6Uo=", + "lastModified": 1772841847, + "narHash": "sha256-Qre73BGBcw1YlhBTTT+T/rVoqVtlCgHYYExUreIJoYs=", "owner": "ryoppippi", "repo": "claude-code-overlay", - "rev": "e177db5beaf0cd10761e1b4a6eac2906627ed119", + "rev": "871c9fa0d37c0d6b3bdbf30341a8d08a75b1793b", "type": "github" }, "original": { @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1772633327, - "narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=", + "lastModified": 1772985285, + "narHash": "sha256-wEEmvfqJcl9J0wyMgMrj1TixOgInBW/6tLPhWGoZE3s=", "owner": "nix-community", "repo": "home-manager", - "rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc", + "rev": "5be5d8245cbc7bc0c09fbb5f38f23f223c543f85", "type": "github" }, "original": { @@ -89,11 +89,11 @@ ] }, "locked": { - "lastModified": 1772341813, - "narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=", + "lastModified": 1772945408, + "narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f", + "rev": "1c1d8ea87b047788fd7567adf531418c5da321ec", "type": "github" }, "original": { @@ -104,11 +104,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1771969195, - "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", + "lastModified": 1772972630, + "narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", + "rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72", "type": "github" }, "original": { @@ -119,11 +119,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1772624091, - "narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", + "lastModified": 1772963539, + "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", + "rev": "9dcb002ca1690658be4a04645215baea8b95f31d", "type": "github" }, "original": { @@ -141,11 +141,11 @@ ] }, "locked": { - "lastModified": 1772745558, - "narHash": "sha256-pVmX5Z0PLUZIL7TFcfYyWNqEKDVf72bAz0PORyNQHSQ=", + "lastModified": 1773086064, + "narHash": "sha256-w5cbHv8jVS+1iD7xPokoT3XPUnkiAxFCUtW2KEwgU5s=", "owner": "nix-community", "repo": "NUR", - "rev": "361709a61eebc0b1783dd478677b7ac4e1efa0a2", + "rev": "e5b002c3d53b380695fd161e6562570ed8e7d01d", "type": "github" }, "original": { @@ -173,11 +173,11 @@ ] }, "locked": { - "lastModified": 1772638901, - "narHash": "sha256-kzAyU054Mzpnzgx475MgmcjYJXxXWQWBG7LLsYtHXKw=", + "lastModified": 1772945022, + "narHash": "sha256-Fv14NttjL/7xfi6eVwrSEBAyBvDjI00RLiRNqA5apcw=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "75de12ddd50616a3628499ec18b648bceb88eb0d", + "rev": "3a6a5ca7fb48cc8fd8183386506a06579d1d79dc", "type": "github" }, "original": {