diff --git a/packages/journalctl-last-invocation/journalctl-last-invocation b/packages/journalctl-last-invocation/journalctl-last-invocation new file mode 100755 index 0000000..efbd572 --- /dev/null +++ b/packages/journalctl-last-invocation/journalctl-last-invocation @@ -0,0 +1,4 @@ +#!/usr/bin/zsh --errexit + + +exec journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID "$1")" diff --git a/packages/journalctl-last-invocation/package.nix b/packages/journalctl-last-invocation/package.nix index 6b3a73e..1bdd005 100644 --- a/packages/journalctl-last-invocation/package.nix +++ b/packages/journalctl-last-invocation/package.nix @@ -1,30 +1,32 @@ -{ pkgs, stdenvNoCC }: +{ + # Build tools. + installShellFiles, stdenvNoCC, + + # Packages. + systemd, zsh, +}: -with pkgs; with stdenvNoCC; mkDerivation { - pname = "journalctl-last-invocation"; - version = "2026-04-29"; + name = "journalctl-last-invocation"; - phases = [ "createSourcesPhase" "installPhase" ]; + src = ./.; - createSourcesPhase = '' - # Same directory structure that `unpackPhase` would use. - mkdir -p /build/source - - cat <<- EOF > /build/source/journalctl-last-invocation - #!${bash}/bin/sh - - exec ${systemd}/bin/journalctl _SYSTEMD_INVOCATION_ID=\$(${systemd}/bin/systemctl show --value --property=InvocationID \$1) - EOF - ''; + nativeBuildInputs = [ installShellFiles ]; + buildInputs = [ zsh ]; installPhase = '' - mkdir -p $out/bin + runHook preInstall - cp /build/source/journalctl-last-invocation $out/bin/ + installBin journalctl-last-invocation - chmod +x $out/bin/journalctl-last-invocation + runHook postInstall + ''; + + preFixup = '' + substituteInPlace $out/bin/journalctl-last-invocation \ + --replace-fail journalctl ${systemd}/bin/journalctl \ + --replace-fail systemctl ${systemd}/bin/systemctl ''; } diff --git a/packages/nix-store-fuzzy-find/nix-store-fuzzy-find b/packages/nix-store-fuzzy-find/nix-store-fuzzy-find new file mode 100755 index 0000000..c27d7d3 --- /dev/null +++ b/packages/nix-store-fuzzy-find/nix-store-fuzzy-find @@ -0,0 +1,4 @@ +#!/usr/bin/zsh --errexit + + +exec find /nix/store -maxdepth 1 -type d -name "*-$1-*" diff --git a/packages/nix-store-fuzzy-find/package.nix b/packages/nix-store-fuzzy-find/package.nix index ede3c0e..8cf56d8 100644 --- a/packages/nix-store-fuzzy-find/package.nix +++ b/packages/nix-store-fuzzy-find/package.nix @@ -1,30 +1,31 @@ -{ pkgs, stdenvNoCC }: +{ + # Build tools. + installShellFiles, stdenvNoCC, + + # Packages. + findutils, zsh, +}: -with pkgs; with stdenvNoCC; mkDerivation { - pname = "nix-store-fuzzy-find"; - version = "2026-04-29"; + name = "nix-store-fuzzy-find"; - phases = [ "createSourcesPhase" "installPhase" ]; + src = ./.; - createSourcesPhase = '' - # Same directory structure that `unpackPhase` would use. - mkdir -p /build/source - - cat <<- EOF > /build/source/nix-store-fuzzy-find - #!${bash}/bin/sh - - exec ${findutils}/bin/find /nix/store -maxdepth 1 -type d -name "*-\$1-*" - EOF - ''; + nativeBuildInputs = [ installShellFiles ]; + buildInputs = [ zsh ]; installPhase = '' - mkdir -p $out/bin + runHook preInstall - cp /build/source/nix-store-fuzzy-find $out/bin/ + installBin nix-store-fuzzy-find - chmod +x $out/bin/nix-store-fuzzy-find + runHook postInstall + ''; + + preFixup = '' + substituteInPlace $out/bin/nix-store-fuzzy-find \ + --replace-fail find ${findutils}/bin/find ''; }