From fcdeeee7eb0deafc59184b4f4b67f9985e4b033c Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Mon, 29 Sep 2025 16:34:18 -0700 Subject: [PATCH 1/3] npingler: unstable-2025-08-24 -> 0.4.0 Initial stable release. https://github.com/9999years/npingler/releases/tag/v0.4.0 --- pkgs/by-name/np/npingler/package.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/np/npingler/package.nix b/pkgs/by-name/np/npingler/package.nix index 443cf4f50b7c..028c7742eea6 100644 --- a/pkgs/by-name/np/npingler/package.nix +++ b/pkgs/by-name/np/npingler/package.nix @@ -5,18 +5,18 @@ nix-update-script, }: -rustPlatform.buildRustPackage { +rustPlatform.buildRustPackage (finalAttrs: { pname = "npingler"; - version = "unstable-2025-08-24"; + version = "0.4.0"; src = fetchFromGitHub { owner = "9999years"; repo = "npingler"; - rev = "b897098be1df890b669dc734edcb10bf8fc798cb"; - hash = "sha256-mMwfonIP8fnJDNdl9ANhLmYlM8tPLtBCWNIPSRBT/D4="; + tag = "v${finalAttrs.version}"; + hash = "sha256-d34IGZ+Xdzknkmz+JemEEEYde+8zowuGOlGKlm7F3Jk="; }; - cargoHash = "sha256-VhMpgrNy0NauwBSCR+5vjod9H216HPC+rdQUIFVjnRg="; + cargoHash = "sha256-Fs5LPy9dX2hRyMo/YASQesXQoklqYDV78eXnlecet0E="; meta = { description = "Nix profile manager for use with npins"; @@ -29,4 +29,4 @@ rustPlatform.buildRustPackage { }; passthru.updateScript = nix-update-script { }; -} +}) From 60eafba2cb67843aa6e186ed46433d807843ffea Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Tue, 26 Aug 2025 15:55:59 -0700 Subject: [PATCH 2/3] npingler: install shell completions --- pkgs/by-name/np/npingler/package.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/by-name/np/npingler/package.nix b/pkgs/by-name/np/npingler/package.nix index 028c7742eea6..9953fbc3f18a 100644 --- a/pkgs/by-name/np/npingler/package.nix +++ b/pkgs/by-name/np/npingler/package.nix @@ -1,10 +1,17 @@ { lib, + stdenv, + buildPackages, rustPlatform, fetchFromGitHub, + installShellFiles, nix-update-script, }: +let + emulatorAvailable = stdenv.hostPlatform.emulatorAvailable buildPackages; + emulator = stdenv.hostPlatform.emulator buildPackages; +in rustPlatform.buildRustPackage (finalAttrs: { pname = "npingler"; version = "0.4.0"; @@ -18,6 +25,18 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-Fs5LPy9dX2hRyMo/YASQesXQoklqYDV78eXnlecet0E="; + + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = lib.optionalString emulatorAvailable '' + installShellCompletion --cmd npingler \ + --bash <(${emulator} $out/bin/npingler util generate-completions bash) \ + --fish <(${emulator} $out/bin/npingler util generate-completions fish) \ + --zsh <(${emulator} $out/bin/npingler util generate-completions zsh) + ''; + meta = { description = "Nix profile manager for use with npins"; homepage = "https://github.com/9999years/npingler"; From 60f54c3fac2abd7ecf673f863cd636d8bf7dd9c7 Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Tue, 26 Aug 2025 15:55:59 -0700 Subject: [PATCH 3/3] npingler: install man pages --- pkgs/by-name/np/npingler/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/np/npingler/package.nix b/pkgs/by-name/np/npingler/package.nix index 9953fbc3f18a..7ba718f3535f 100644 --- a/pkgs/by-name/np/npingler/package.nix +++ b/pkgs/by-name/np/npingler/package.nix @@ -25,12 +25,19 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-Fs5LPy9dX2hRyMo/YASQesXQoklqYDV78eXnlecet0E="; + buildFeatures = [ "clap_mangen" ]; nativeBuildInputs = [ installShellFiles ]; postInstall = lib.optionalString emulatorAvailable '' + manpages=$(mktemp -d) + ${emulator} $out/bin/npingler util generate-man-pages "$manpages" + for manpage in "$manpages"/*; do + installManPage "$manpage" + done + installShellCompletion --cmd npingler \ --bash <(${emulator} $out/bin/npingler util generate-completions bash) \ --fish <(${emulator} $out/bin/npingler util generate-completions fish) \