diff --git a/README.md b/README.md index be46434..048ad14 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,8 @@ I've done nixos a few times but this time around it's been very comfterable. Nothing is really that special about it, but feel free to copy it! > silly language thing creddited to https://github.com/SylvanFranklin/.config + +This flake currently defines one host: `framework` which is my laptop. + +- system config lives in `configuration.nix` +- Home Manager config lives in `home.nix` diff --git a/configuration.nix b/configuration.nix index b42bb04..0e97aee 100644 --- a/configuration.nix +++ b/configuration.nix @@ -90,6 +90,11 @@ AttrKeyboardIntegration=internal ''; + # Codex currently probes the conventional FHS bubblewrap path. + systemd.tmpfiles.rules = [ + "L+ /usr/bin/bwrap - - - - ${pkgs.bubblewrap}/bin/bwrap" + ]; + # Set Kitty as default terminal xdg.terminal-exec = { enable = true; @@ -154,11 +159,20 @@ "nix-command" "flakes" ]; - auto-optimise-store = true; + trusted-users = [ + "root" + "jet" + ]; max-jobs = "auto"; cores = 0; build-users-group = "nixbld"; }; + nix.gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 7d"; + }; + nix.optimise.automatic = true; # Framework-specific services # Enable fwupd for BIOS updates (distributed through LVFS) @@ -169,24 +183,6 @@ services.irqbalance.enable = true; services.earlyoom.enable = true; - # Keep only last 3 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 - ''; - }; - systemd.timers.nix-cleanup = { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "daily"; - Persistent = true; - }; - }; - # Power management for laptop services.logind = { settings = { @@ -248,6 +244,7 @@ }; environment.systemPackages = with pkgs; [ + bubblewrap wget nh ]; diff --git a/flake.lock b/flake.lock index 643b686..5cbf577 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1773804142, - "narHash": "sha256-XiW/Tsauyig4Oog1yjxBAzTfO8HAiwtpT0uLh4QpVJ8=", + "lastModified": 1774047888, + "narHash": "sha256-lUJ5dPga70KM1oj5vFEZm15PbojyrZ2nqJQ3C4bRSiY=", "owner": "ryoppippi", "repo": "claude-code-overlay", - "rev": "292f18fd1be3376acfa7e7238e4f5b4607700cd9", + "rev": "076a658308611db196d1a250d6fd7fe35ce620ad", "type": "github" }, "original": { @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1773692150, - "narHash": "sha256-w95aHT9Q1Q3GfE4TR2El80g1Zn1wFOtMDhQhn5NQngo=", + "lastModified": 1773944613, + "narHash": "sha256-YPgI5DAfcwcWOjHGERsTha/SuuRt7l+oOTGT94G643s=", "owner": "sadjow", "repo": "codex-cli-nix", - "rev": "26a2d3fff58bd3d18e203f5e96f092c2f997883c", + "rev": "7937d799ae69e7ded828b8aef5d26e89fbbc817f", "type": "github" }, "original": { @@ -87,11 +87,11 @@ ] }, "locked": { - "lastModified": 1773810247, - "narHash": "sha256-6Vz1Thy/1s7z+Rq5OfkWOBAdV4eD+OrvDs10yH6xJzQ=", + "lastModified": 1774007980, + "narHash": "sha256-FOnZjElEI8pqqCvB6K/1JRHTE8o4rer8driivTpq2uo=", "owner": "nix-community", "repo": "home-manager", - "rev": "d47357a4c806d18a3e853ad2699eaec3c01622e7", + "rev": "9670de2921812bc4e0452f6e3efd8c859696c183", "type": "github" }, "original": { @@ -143,11 +143,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1773533765, - "narHash": "sha256-qonGfS2lzCgCl59Zl63jF6dIRRpvW3AJooBGMaXjHiY=", + "lastModified": 1774018263, + "narHash": "sha256-HHYEwK1A22aSaxv2ibhMMkKvrDGKGlA/qObG4smrSqc=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f8e82243fd601afb9f59ad230958bd073795cbfe", + "rev": "2d4b4717b2534fad5c715968c1cece04a172b365", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773734432, - "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", + "lastModified": 1773821835, + "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", + "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0", "type": "github" }, "original": { @@ -180,11 +180,11 @@ ] }, "locked": { - "lastModified": 1773868362, - "narHash": "sha256-xKO8rtuLbWaZD9Wcbbrs94eqF9DCuTz18AZOEMRRups=", + "lastModified": 1774067251, + "narHash": "sha256-kxPPIRaJsxGcPRUOO2sUbvloaVdRiSDD0cN2Fxoj7pg=", "owner": "nix-community", "repo": "NUR", - "rev": "9b4ccdf51c867b73a6dd9d03cd577e013b43ccd9", + "rev": "83ab96ae446c783b0dcf20b7eff35cf293faa0d4", "type": "github" }, "original": { diff --git a/home.nix b/home.nix index ddf310f..e50402d 100644 --- a/home.nix +++ b/home.nix @@ -85,6 +85,7 @@ in bat ffmpeg-full claude-code + opencode inputs.codex-cli-nix.packages.${pkgs.stdenv.hostPlatform.system}.default fd btop @@ -251,6 +252,7 @@ in "da" = "direnv allow"; "nfu" = "nix flake update"; "c" = "claude"; + "o" = "opencode"; ".." = "z .."; j = "jj"; jgf = "jj git fetch";