From 6271732ab9a353ef295880e2e9fd1ba182318ea5 Mon Sep 17 00:00:00 2001 From: TANIGUCHI Kohei Date: Tue, 14 Jul 2026 01:39:22 +0900 Subject: [PATCH 1/6] terminal-notifier: enable strictDeps nixpkgs-vet requires strictDeps for all new top-level packages, so enable it here too (https://github.com/NixOS/nixpkgs-vet/blob/main/src/problem/npv_164.rs). Assisted-by: Claude Code (Claude Fable 5) --- pkgs/by-name/te/terminal-notifier/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index 59cd6469b99d..ee93c4297525 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Hd9cI3R2nQK2deBb5CBYz4DTHAEcO4vzqtA5qZwa1Ao="; }; + strictDeps = true; + nativeBuildInputs = [ ibtool makeBinaryWrapper From a0aad28918fecd8591de21ecccda7cd15b02bd85 Mon Sep 17 00:00:00 2001 From: TANIGUCHI Kohei Date: Sat, 20 Jun 2026 17:41:17 +0900 Subject: [PATCH 2/6] terminal-notifier: enable __structuredAttrs The Nixpkgs manual makes __structuredAttrs the preferred default and requires it for all new top-level packages, so enable it here too (https://nixos.org/manual/nixpkgs/stable/#var-stdenv-__structuredAttrs). Assisted-by: Claude Opus 4.8 (claude-opus-4-8) --- pkgs/by-name/te/terminal-notifier/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index ee93c4297525..d9d53ba8c3cd 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-Hd9cI3R2nQK2deBb5CBYz4DTHAEcO4vzqtA5qZwa1Ao="; }; + __structuredAttrs = true; + strictDeps = true; nativeBuildInputs = [ From 44b9081eac3017f73810685b3ce7de08ece71c52 Mon Sep 17 00:00:00 2001 From: TANIGUCHI Kohei Date: Sun, 21 Jun 2026 14:49:26 +0900 Subject: [PATCH 3/6] terminal-notifier: drop redundant bin directory creation makeWrapper already creates the wrapper's parent directory. Assisted-by: Claude Code (Claude Opus 4.8) --- pkgs/by-name/te/terminal-notifier/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index d9d53ba8c3cd..c5c0cfc34d84 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -49,8 +49,9 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - mkdir -p $out/{Applications,bin} + mkdir -p $out/Applications cp -r Products/Release/terminal-notifier.app $out/Applications/ + makeWrapper \ $out/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier \ $out/bin/terminal-notifier \ From ca61bbb69311a85c35e272d65618a450ce69542c Mon Sep 17 00:00:00 2001 From: TANIGUCHI Kohei Date: Sat, 20 Jun 2026 17:41:17 +0900 Subject: [PATCH 4/6] terminal-notifier: drop redundant apple-sdk The default SDK is included in the Darwin stdenv, so packages that use the default do not need to list `apple-sdk` explicitly (https://nixos.org/manual/nixpkgs/unstable/#sec-darwin). Assisted-by: Claude Opus 4.8 (claude-opus-4-8) --- pkgs/by-name/te/terminal-notifier/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index c5c0cfc34d84..c0d0927170c2 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -1,5 +1,4 @@ { - apple-sdk, fetchFromGitHub, ibtool, lib, @@ -32,10 +31,6 @@ stdenv.mkDerivation (finalAttrs: { llvmPackages.lld ]; - buildInputs = [ - apple-sdk - ]; - xcbuildFlags = [ "-target" "terminal-notifier" From 61e50653d90c3a6e43914de00c340e7bfc96ae89 Mon Sep 17 00:00:00 2001 From: TANIGUCHI Kohei Date: Sat, 20 Jun 2026 17:41:17 +0900 Subject: [PATCH 5/6] terminal-notifier: drop redundant build configuration Release is the project's default configuration, so selecting it explicitly has no effect. Assisted-by: Claude Opus 4.8 (claude-opus-4-8) --- pkgs/by-name/te/terminal-notifier/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index c0d0927170c2..e35d8dcebbb6 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -34,8 +34,6 @@ stdenv.mkDerivation (finalAttrs: { xcbuildFlags = [ "-target" "terminal-notifier" - "-configuration" - "Release" ]; # TODO: Clean up on `staging` From 93711db5e441f1e7b06ee983c19818fb93f4ed3a Mon Sep 17 00:00:00 2001 From: TANIGUCHI Kohei Date: Sun, 21 Jun 2026 14:49:26 +0900 Subject: [PATCH 6/6] terminal-notifier: fix relative path arguments The wrapper's `--chdir` cd'd into the .app bundle before exec, so relative path arguments (e.g. `-contentImage`) resolved against the bundle rather than the user's working directory. The chdir originally let the kernel find the bundle's `Info.plist` (and thus the bundle identifier macOS notifications require) back when the wrapper exec'd the binary by a relative path (9d1748d384efd1baa17152e71db9d305d635db4b). makeWrapper now execs it by its absolute path inside the bundle, so `Info.plist` is found regardless of the working directory and the chdir is obsolete. Assisted-by: Claude Code (Claude Opus 4.8) --- pkgs/by-name/te/terminal-notifier/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/te/terminal-notifier/package.nix b/pkgs/by-name/te/terminal-notifier/package.nix index e35d8dcebbb6..50638708a9d8 100644 --- a/pkgs/by-name/te/terminal-notifier/package.nix +++ b/pkgs/by-name/te/terminal-notifier/package.nix @@ -47,8 +47,7 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper \ $out/Applications/terminal-notifier.app/Contents/MacOS/terminal-notifier \ - $out/bin/terminal-notifier \ - --chdir $out/Applications/terminal-notifier.app + $out/bin/terminal-notifier runHook postInstall '';