From e887fcd4352315872994d59f47d9f555dafed9d7 Mon Sep 17 00:00:00 2001 From: Jelle Spreeuwenberg Date: Sun, 27 Sep 2026 12:35:04 +0200 Subject: [PATCH] updates --- docs/current-work.md | 12 +-- flake.lock | 80 +++++++++---------- flake.nix | 5 -- modules/capabilities/ai/default.nix | 4 +- modules/capabilities/audio.nix | 9 +++ modules/capabilities/nix.nix | 4 + .../capabilities/workbench/_support/tools.nix | 1 + modules/profiles/workstation-base.nix | 1 + 8 files changed, 65 insertions(+), 51 deletions(-) diff --git a/docs/current-work.md b/docs/current-work.md index fa173be..b8ef1c7 100644 --- a/docs/current-work.md +++ b/docs/current-work.md @@ -54,6 +54,8 @@ The unedited `~/sync/notes/setup-todo.md` remains an idea inbox, not authorizati Validation prepares upstream devenv's import-from-derivation dependencies before read-only flake checking, accepts the repository's declared official cache, and reports interruption concisely. Full builds still include the tools-only shell. + The devenv cache is now in persistent NixOS Nix settings; the flake cache hint + was removed. ## Decisions/provisioning still needed @@ -113,11 +115,11 @@ repeat full builds for documentation-only handoff edits. The final diff was reviewed for correctness, integration and Ponytail complexity. Desktop/capability moves and repository wiring had no material findings. The review -removed the speculative Kubernetes login interpreter and kept the devenv cache at -flake scope instead of granting it machine-wide trust. The remaining Python has a -concrete role: in-memory concurrent secret loading with completeness checks, one-time -encrypted credential reshaping, dynamic OBS rclone configuration, or pre-existing -dictation/transcription behavior. +removed the speculative Kubernetes login interpreter. The devenv cache was later +moved from flake scope to machine-wide Nix settings at the user's request. The +remaining Python has a concrete role: in-memory concurrent secret loading with +completeness checks, one-time encrypted credential reshaping, dynamic OBS rclone +configuration, or pre-existing dictation/transcription behavior. The user checkpoint is still required before this pass is complete. The implementation was committed as `5748b34` after the initial foundation commit `f164d8b`. Later diff --git a/flake.lock b/flake.lock index 1b9c8d5..284e69f 100644 --- a/flake.lock +++ b/flake.lock @@ -20,16 +20,16 @@ ] }, "locked": { - "lastModified": 1788011267, - "narHash": "sha256-mEq2kU+ljompTToZ44Afvm7d/rHJ5iMBl0tjZuyShJs=", + "lastModified": 1790001035, + "narHash": "sha256-1/SLBjSYBzDdDhvLQ83wrzBakyS/xNGgtxHGNuveOEQ=", "owner": "Mic92", "repo": "bun2nix", - "rev": "5765b0614591f75ee8ba5596e81ae85c167d1071", + "rev": "07a5bfc8ac36c5370199343fa620b69f63186e33", "type": "github" }, "original": { "owner": "Mic92", - "ref": "fix-structured-attrs-hook", + "ref": "llm-agents", "repo": "bun2nix", "type": "github" } @@ -98,11 +98,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1789773873, - "narHash": "sha256-lFR8A3JzpXn4Az9quklprOje/+Njyh9+bP+CE1TCIxI=", + "lastModified": 1789991752, + "narHash": "sha256-SiH+H00IutELZBg7BBNo6r5DU6E+DG7DjrbeX5+QLa0=", "owner": "cachix", "repo": "devenv", - "rev": "2ba2f9ed32596289874c58981a4d3e56cadd639d", + "rev": "1c57b5dea0d400af97053fdd1a536fca17378f73", "type": "github" }, "original": { @@ -118,11 +118,11 @@ ] }, "locked": { - "lastModified": 1781152676, - "narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=", + "lastModified": 1789770686, + "narHash": "sha256-uZkBR7yHdIKUFB5SZdfgh1qkGfI3XmYmI/lTiquxbck=", "owner": "nix-community", "repo": "disko", - "rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1", + "rev": "725ea35e410ad83be4931d1bff7e090eacaf3563", "type": "github" }, "original": { @@ -281,11 +281,11 @@ ] }, "locked": { - "lastModified": 1788651960, - "narHash": "sha256-v9wJd32eZ2bvhBzVOd7TIjLQd011P7nwOhjKtWlci5I=", + "lastModified": 1790080548, + "narHash": "sha256-u4sa7RCbwvk8cZmAGs35F7o0h4IqDc3wsrrnjQvMumk=", "owner": "nix-community", "repo": "home-manager", - "rev": "2c0350c759688177331b8f5242311fae8877bdb3", + "rev": "cbcbfa2778e0c5653ef349df3ebae8288efac3c0", "type": "github" }, "original": { @@ -318,11 +318,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1789804571, - "narHash": "sha256-qYKCHhnLrEQ5XOH/5vwc57FSpPNCWC/4+AcWjJa7vPE=", + "lastModified": 1790311386, + "narHash": "sha256-bOexMr1RcAS6PFcMnEfwe5apsEoaLmSUUxlqUftd2uU=", "owner": "numtide", "repo": "llm-agents.nix", - "rev": "c2351168cdce1d7ab47961266b999a449f23bfad", + "rev": "1446b3cb242c8cd24619b58054112cc2d870e591", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1788680125, - "narHash": "sha256-amGSoDobwmp4CFvCn841ws2iuitus+HUJdD/gKgsrJA=", + "lastModified": 1789892076, + "narHash": "sha256-Dkg4VKPmDPqTwaiw2WH5br73tXoL1qrOO0xJnR4TlcA=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "116ad1c2adb642405ef8916f6a94c8626f971344", + "rev": "9ad722673ab3b3f91f02135e53775825b240b869", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1788744583, - "narHash": "sha256-oNMrijfyaoRjjWhxHNFSBYyEB4u/zb/AxoKewC56LvE=", + "lastModified": 1788981141, + "narHash": "sha256-7xWS16u13YGlRNKWaAPzRbEyh4OLOXJe31k7h4AnXNU=", "owner": "BirdeeHub", "repo": "nix-wrapper-modules", - "rev": "e88c449105c6aafa460196d3cbd16718655aee0f", + "rev": "1db3c116a6aa61823f8d8f3c47c306846428fc54", "type": "github" }, "original": { @@ -444,11 +444,11 @@ ] }, "locked": { - "lastModified": 1788860136, - "narHash": "sha256-MhPMOFV4pVkygWEbQ8t1De/uQ9cWF1u++tRe2L5tG48=", + "lastModified": 1789978172, + "narHash": "sha256-FIRXajv1pPZ+l6On6ekkmcQ6le0Zi0ncRUoR3nB0vKA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "62173785b9a18c78b4a15aca2623d02bceb9d077", + "rev": "9ebcb7766700d7e006d9505247bd7ce0426f4232", "type": "github" }, "original": { @@ -463,11 +463,11 @@ "nixpkgs-src": "nixpkgs-src" }, "locked": { - "lastModified": 1789506231, - "narHash": "sha256-vNkJbtmqyBfFhn/HnzQo4ROuoyYWuy/allqTfJb4kMY=", + "lastModified": 1787753358, + "narHash": "sha256-Tl77VbWyAKrOfRNQhL6JbQtb/MLzbYa/1RG1gWWfICk=", "owner": "cachix", "repo": "devenv-nixpkgs", - "rev": "c2f38fe7f9e04d9aadd354d380f2bd40531d9737", + "rev": "256551e45f6303e142ab4a98be1bf243feb77dc0", "type": "github" }, "original": { @@ -495,11 +495,11 @@ "nixpkgs-src": { "flake": false, "locked": { - "lastModified": 1789370336, - "narHash": "sha256-6RSEDHIWQtesQKWSu5qRai8L2h4KgCgMEfJHstW99G4=", + "lastModified": 1787394516, + "narHash": "sha256-pRGOQSClnXNI2iLUG6DYpsGvYcuw0drOutVZFTJNw90=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c7def046b9a883d46974757852106483d741586f", + "rev": "c8f90650c15282fa8656a041bfbbd2403997a9a7", "type": "github" }, "original": { @@ -511,11 +511,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1789632929, - "narHash": "sha256-RjR8AyvGlWuw16XRj7C1YDEw4E27ciuyPeB2nDMzgTU=", + "lastModified": 1790238896, + "narHash": "sha256-ym4BG18Pu2awiJIehla1Lo9xiB2QYRcCzW3SB74gEBY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a32edd7654519351e48e80372a928df336394670", + "rev": "34ca302a9572963c02e385c056be37c85ff51b77", "type": "github" }, "original": { @@ -545,11 +545,11 @@ ] }, "locked": { - "lastModified": 1788886125, - "narHash": "sha256-5rgQFUGr8GXYyyuy8ynrN39WfZzSiO/wqGWjELBOkEY=", + "lastModified": 1790104132, + "narHash": "sha256-yvcudrhnWvWSFS2ujWxAJ7CVdgdiZs2BDGbgn38p1l0=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "d6607b4eafbb92f6d494ebed3e296d4b741c0b58", + "rev": "61aa22730c434500fd3f2048eba47658b1f20aad", "type": "github" }, "original": { @@ -603,11 +603,11 @@ ] }, "locked": { - "lastModified": 1788337237, - "narHash": "sha256-gkSH8VUtCo6hnysNmb9DbTuDepH2t5pv+QWjP75xKAk=", + "lastModified": 1789890976, + "narHash": "sha256-GKwH3zpy7tartuJMG0Rv/xUsdetG1QLmTVv8UKgJLmA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "fbf759290e0cb0a98dfc813a4eb7d53ad1dacb57", + "rev": "7214124c20c1542c90deb54af50e2f53ae02711f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 2499c68..ff4ced8 100644 --- a/flake.nix +++ b/flake.nix @@ -1,11 +1,6 @@ { description = "NixOS Configuration"; - nixConfig = { - extra-substituters = [ "https://devenv.cachix.org" ]; - extra-trusted-public-keys = [ "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" ]; - }; - inputs = { devenv.url = "github:cachix/devenv"; disko = { diff --git a/modules/capabilities/ai/default.nix b/modules/capabilities/ai/default.nix index 279bbb4..86f23a1 100644 --- a/modules/capabilities/ai/default.nix +++ b/modules/capabilities/ai/default.nix @@ -28,6 +28,8 @@ in }; features.plugins = true; + # The Nix package lacks the codex-package.json layout the daemon requires. + features.daemon_auto_start = false; hooks = ai.codexHooks; mcp_servers = ai.servers // { context7 = ai.servers.context7 // { @@ -98,7 +100,7 @@ in pkgs.nodejs pkgs.python3 inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.codex - pkgs.llm-agents.chatgpt + inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.chatgpt pkgs.llm-agents.pi pkgs.llm-agents.claude-code pkgs.llm-agents.herdr diff --git a/modules/capabilities/audio.nix b/modules/capabilities/audio.nix index b6f6aed..65171b1 100644 --- a/modules/capabilities/audio.nix +++ b/modules/capabilities/audio.nix @@ -8,4 +8,13 @@ jack.enable = true; }; }; + + flake.modules.homeManager.audio = + { pkgs, ... }: + { + home.packages = [ + pkgs.reaper + pkgs.bitwig-studio + ]; + }; } diff --git a/modules/capabilities/nix.nix b/modules/capabilities/nix.nix index 4ca4e47..49d595a 100644 --- a/modules/capabilities/nix.nix +++ b/modules/capabilities/nix.nix @@ -14,6 +14,10 @@ in settings = { trusted-users = [ "@wheel" ]; use-xdg-base-directories = true; + extra-substituters = [ "https://devenv.cachix.org" ]; + extra-trusted-public-keys = [ + "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" + ]; experimental-features = [ "nix-command" diff --git a/modules/capabilities/workbench/_support/tools.nix b/modules/capabilities/workbench/_support/tools.nix index 0f8666b..612ca14 100644 --- a/modules/capabilities/workbench/_support/tools.nix +++ b/modules/capabilities/workbench/_support/tools.nix @@ -13,6 +13,7 @@ kubelogin-oidc jq just + python3Packages.python-openstackclient python314 rclone sops diff --git a/modules/profiles/workstation-base.nix b/modules/profiles/workstation-base.nix index f69abc7..30d4ae4 100644 --- a/modules/profiles/workstation-base.nix +++ b/modules/profiles/workstation-base.nix @@ -43,6 +43,7 @@ in flake.modules.homeManager.workstation-base = { imports = [ homeModules.passwords + homeModules.audio homeModules.clipboard homeModules.handy homeModules.desktop-commands