From 305a0e61f839de12f5aebaee6e1469e138c86fd7 Mon Sep 17 00:00:00 2001 From: "Simen A. W. Olsen" Date: Tue, 27 Oct 2026 11:50:21 +0100 Subject: feat: gate updates behind vet supply-chain checks update now holds inputs and skills back by a cooldown, has Claude review third-party diffs, and reports CVE changes before switching. Homebrew taps are pinned through nix-homebrew, and npm/pnpm get install policies. --- modules/darwin/default.nix | 4 ++++ modules/darwin/homebrew.nix | 11 +++++------ 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'modules/darwin') diff --git a/modules/darwin/default.nix b/modules/darwin/default.nix index d23e795..1ccb7c9 100644 --- a/modules/darwin/default.nix +++ b/modules/darwin/default.nix @@ -144,5 +144,9 @@ # Specific toolsets rclone + + # Supply-chain checks: vet gates `update`, nvd shows what a switch changes + (pkgs.callPackage ../../pkgs/vet { }) + nvd ]; } diff --git a/modules/darwin/homebrew.nix b/modules/darwin/homebrew.nix index 51749e1..3175e97 100644 --- a/modules/darwin/homebrew.nix +++ b/modules/darwin/homebrew.nix @@ -1,19 +1,18 @@ -{ ... }: +{ config, ... }: { homebrew = { enable = true; + # Taps are pinned in flake.lock (nix-homebrew in flake.nix), so upgrading + # moves to the versions vet let through and never past them. onActivation = { - autoUpdate = true; + autoUpdate = false; upgrade = true; cleanup = "zap"; }; - taps = [ - "simenandre/tools" - "anomalyco/tap" - ]; + taps = builtins.attrNames config.nix-homebrew.taps; # Note: most CLI tools live in nixpkgs (modules/darwin/default.nix). # These stay in brew on purpose: shell completions, the macOS container -- cgit v1.3.1