diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 44bd495c..dee42338 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,8 +18,9 @@ jobs: eval_host() { local host="$1" local expr="$2" + local rc=0 echo "Evaluating $host..." - stderr=$(nix eval "$expr" 2>&1 >/dev/null) + stderr=$(nix eval "$expr" 2>&1 >/dev/null) || rc=$? if [ -n "$stderr" ]; then echo "$stderr" if echo "$stderr" | grep -q "evaluation warning:"; then @@ -27,6 +28,7 @@ jobs: echo "::warning title=Evaluation warnings ($host)::${encoded}" fi fi + return $rc } for host in glyph spore zeta; do eval_host "$host" ".#nixosConfigurations.$host.config.system.build.toplevel.drvPath" diff --git a/flake.lock b/flake.lock index 75dd7d2b..84dd457a 100644 --- a/flake.lock +++ b/flake.lock @@ -51,17 +51,15 @@ "flake-compat": "flake-compat", "flake-parts": "flake-parts", "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1782346752, - "narHash": "sha256-bP40Va8k28byE5Fm3z+wPpSjT3v5a4gZpnDAfLCfrE8=", + "lastModified": 1783346450, + "narHash": "sha256-AyXLhsc2drC+lunm+TB6Xs6XMMJ/m4B1YjMM1N8JXhU=", "owner": "zhaofengli", "repo": "attic", - "rev": "3d5abb7153f6bbaee4d95af7b6b1e8a0cc400906", + "rev": "7a19204df10d606c5070e6bb72615c3461900c05", "type": "github" }, "original": { @@ -73,16 +71,16 @@ "brew-src": { "flake": false, "locked": { - "lastModified": 1781226006, - "narHash": "sha256-w4ZTuOnhYiDxjaynrMTASzp802QblBWmo3wpB8wVN4Y=", + "lastModified": 1784068757, + "narHash": "sha256-7KnV7rTlMpys+2J+TFVxUDDyKPLXFs4wIMtckMC72VM=", "owner": "Homebrew", "repo": "brew", - "rev": "109191be4988470b51a60a5ef1998520aa24c01b", + "rev": "6bd951d96e7ebc54787799dba77bfb26ec956c4c", "type": "github" }, "original": { "owner": "Homebrew", - "ref": "6.0.1", + "ref": "6.0.11", "repo": "brew", "type": "github" } @@ -220,11 +218,11 @@ ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -236,17 +234,16 @@ "git-hooks-nix": { "inputs": { "flake-compat": "flake-compat_3", - "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1781733627, - "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", + "lastModified": 1784288435, + "narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", + "rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9", "type": "github" }, "original": { @@ -255,27 +252,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "git-hooks-nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "golink": { "inputs": { "nixpkgs": [ @@ -286,11 +262,11 @@ ] }, "locked": { - "lastModified": 1781286750, - "narHash": "sha256-trvhW+Z3uRS4YLV5r9Wd2MTcyFHvSsgSRF1xV6nB1kc=", + "lastModified": 1784647543, + "narHash": "sha256-k4m6fkFD6s2fA4wYCKyEbK0+QAeCWbwj+FgBMbwGxW8=", "owner": "tailscale", "repo": "golink", - "rev": "50d56257a80c781c9cda581b284ffd2bd1847ec4", + "rev": "c4eca52fa35697a40a311cb6fa3b9b1c9b69705e", "type": "github" }, "original": { @@ -306,11 +282,11 @@ ] }, "locked": { - "lastModified": 1782358560, - "narHash": "sha256-vCcLh9pw3XO/+Lxk8r6xv6QnoCrTfGqiACcI7O637Wg=", + "lastModified": 1784690067, + "narHash": "sha256-t86pRs7IPs3RTMPueWvvdcxyTFrctHAv2Jl7jnjsSf8=", "owner": "nix-community", "repo": "home-manager", - "rev": "3a70e333f2950c302e875c44cfcfaff3f80f36bc", + "rev": "6d8d61567802997f9ec3086b2a837e3ef31fac16", "type": "github" }, "original": { @@ -322,11 +298,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1782373683, - "narHash": "sha256-t6IDo6uT8qPiX0SptkUcyMKKlPkcqaDw6sSk8NzSjs4=", + "lastModified": 1784703249, + "narHash": "sha256-7C+7gDApeb7JG4VXI7v0ZqiYnBRJhbqbY1Y2OI6cPxk=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "c7201d0d820f7ede5c122d4fde3e91c71c155fba", + "rev": "8d2d5a15f538c047d51b36055b14d53db8ef3cf4", "type": "github" }, "original": { @@ -338,11 +314,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1782374936, - "narHash": "sha256-Y2jIrL0i7IaiNzfHbX7Bhz4ZEpjtPMhAjluMK2rkY0c=", + "lastModified": 1784703172, + "narHash": "sha256-opJtiqzzMqguYiEiTmV5dI15jeEX8h5YXLA4QbhI9nQ=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "6098ff9ebca16b8a9cfd04289a14a97b8b48a092", + "rev": "6ae532c820ba2691464b92eb3e27f79f676c69b0", "type": "github" }, "original": { @@ -374,11 +350,11 @@ ] }, "locked": { - "lastModified": 1781761792, - "narHash": "sha256-rCPytmKNjctLloB6UgK5CRrHSwV4b0ygxtJLPPp8R14=", + "lastModified": 1784500460, + "narHash": "sha256-UvORnAxTRHax7RG74W8Z2t4GvIkX6AjJ5kk0QlwZomo=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "a1fa429e945becaf60468600daf649be4ba0350c", + "rev": "57a3171f94705599a2499248ca5758d5eb47c0e0", "type": "github" }, "original": { @@ -413,11 +389,11 @@ "brew-src": "brew-src" }, "locked": { - "lastModified": 1781389246, - "narHash": "sha256-ORqLAo/hoJdsZC7UPAuEHev6S0+XIqKEC7vjo5prz1k=", + "lastModified": 1784159664, + "narHash": "sha256-I/B6YoRLImHEqNWh8bs+tPjEDeteACeFhcLyoSMo1GE=", "owner": "zhaofengli", "repo": "nix-homebrew", - "rev": "de7953a08ed4bb9245be043e468561c17b89130d", + "rev": "842eeb863ecca0eeb463f7a814cdc51e1d925776", "type": "github" }, "original": { @@ -433,11 +409,11 @@ ] }, "locked": { - "lastModified": 1782030356, - "narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=", + "lastModified": 1784440659, + "narHash": "sha256-Q5kNLlWngt7TaIIZoxDKWMHjiSaNRVqr70FqWCRRfr4=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "3017088b49efd404f78e3b104f553b97e4af786b", + "rev": "4f8d52a3598b0dc7db7a5e7b419e3edd9d1ecfdb", "type": "github" }, "original": { @@ -448,14 +424,14 @@ }, "nixos-hardware": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1782166108, - "narHash": "sha256-/EtnQBcKbsaCAGQ5VRcplrHRkR4ryqyLMpBfkVuG9Xw=", + "lastModified": 1784310968, + "narHash": "sha256-rkSPTePrKqs4dg+i7ZFCq93+HrClac6oSwXX927SVjA=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "875776f0252fcb8618bb948640a0d1f7a5b362be", + "rev": "779c32a00155994c86cde8213a8dd4df139d4355", "type": "github" }, "original": { @@ -466,15 +442,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1767892417, - "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", - "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", - "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz" + "lastModified": 1784555310, + "narHash": "sha256-/FCliTPgiuV1owejZFNx3Ch9irdvkOfOFl+HHZ+DrtM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "421eebfd0ec7bccd4abe826ce62d7e6e83129493", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -511,11 +490,24 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1781577229, - "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", + "lastModified": 1767892417, + "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", + "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1784497964, + "narHash": "sha256-vlHUuqAcbcH2RKmHbPiuQzbv1pnzzavXnI62RD0bqCU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", + "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163", "type": "github" }, "original": { @@ -542,7 +534,7 @@ "nix-homebrew": "nix-homebrew", "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable-24-05": "nixpkgs-stable-24-05", "systems": "systems_2", "zx-dev": "zx-dev" diff --git a/flake.nix b/flake.nix index 484e4390..df6cc34f 100644 --- a/flake.nix +++ b/flake.nix @@ -51,7 +51,6 @@ }; attic = { url = "github:zhaofengli/attic"; - inputs.nixpkgs.follows = "nixpkgs"; }; zx-dev = { url = "github:stackptr/zx.dev"; @@ -202,6 +201,7 @@ config.allowUnfreePredicate = pkg: builtins.elem (inputs.nixpkgs.lib.getName pkg) [ "graphite-cli" + "graphite-cli-unwrapped" "obsidian-headless" ]; }; diff --git a/modules/base/unfree-packages.nix b/modules/base/unfree-packages.nix index 85c80b61..d4b34a2d 100644 --- a/modules/base/unfree-packages.nix +++ b/modules/base/unfree-packages.nix @@ -11,6 +11,7 @@ "daisydisk" "fastscripts" "graphite-cli" + "graphite-cli-unwrapped" "mochi" "obsidian-headless" "open-webui" diff --git a/overlays/daisydisk.nix b/overlays/daisydisk.nix index fd335e20..9f418e4d 100644 --- a/overlays/daisydisk.nix +++ b/overlays/daisydisk.nix @@ -1,9 +1,9 @@ self: super: { daisydisk = super.daisydisk.overrideAttrs (old: { - version = "4.32"; + version = "4.34.2"; src = super.fetchzip { url = "https://daisydiskapp.com/download/DaisyDisk.zip"; - hash = "sha256-2QhaY4oQV+bkvcyC88Zsk7eZJ6dySsb5G2+juH8HNjI="; + hash = "sha256-lSV367twsKDp0e5TsVYfjYO5GPcjtteBCxmUIOrz+0E="; stripRoot = false; }; }); diff --git a/overlays/default.nix b/overlays/default.nix index 45dcf619..e53ad97a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -8,4 +8,7 @@ # Override opencode ahead of nixpkgs pin (import ./opencode.nix) + + # Skip paho-mqtt's flaky test suite (nixpkgs#542586) + (import ./paho-mqtt.nix) ] diff --git a/overlays/paho-mqtt.nix b/overlays/paho-mqtt.nix new file mode 100644 index 00000000..3d6ec9bb --- /dev/null +++ b/overlays/paho-mqtt.nix @@ -0,0 +1,18 @@ +# paho-mqtt's test suite is flaky on client/broker teardown timing and +# intermittently fails CI (different tests fail each run, not a real +# regression). Tracked upstream, unresolved as of writing: +# https://github.com/NixOS/nixpkgs/issues/542586 +final: prev: { + pythonPackagesExtensions = + prev.pythonPackagesExtensions + ++ [ + (pyFinal: pyPrev: { + # Its checks run in installCheckPhase (pyproject-style builder), not + # checkPhase, so doCheck alone is a no-op here. + paho-mqtt = pyPrev.paho-mqtt.overrideAttrs (old: { + doCheck = false; + doInstallCheck = false; + }); + }) + ]; +}