zellij-unwrapped: split out from zellij wrapper

Expose the actual rust build as a top-level by-name package and have
the wrapper take it as an argument, so overlays can patch or override
it without needing to thread the new drv through the wrapper explicitly.
This commit is contained in:
r-vdp
2026-06-02 14:07:54 +03:00
parent ee568ffc62
commit a5f62e1a28
2 changed files with 6 additions and 12 deletions

View File

@@ -10,6 +10,7 @@
openssl,
writableTmpDirAsHomeHook,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
@@ -76,6 +77,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
--zsh <($out/bin/zellij setup --generate-completion zsh)
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Terminal workspace with batteries included";
homepage = "https://zellij.dev/";

View File

@@ -1,23 +1,19 @@
{
lib,
callPackage,
zellij-unwrapped,
makeBinaryWrapper,
stdenvNoCC,
nix-update-script,
extraPackages ? [ ],
}:
let
unwrapped = callPackage ./unwrapped.nix { };
in
stdenvNoCC.mkDerivation {
inherit (unwrapped) version meta;
inherit (zellij-unwrapped) version meta;
pname = "zellij";
__structuredAttrs = true;
strictDeps = true;
src = unwrapped;
src = zellij-unwrapped;
dontUnpack = true;
nativeBuildInputs = [ makeBinaryWrapper ];
@@ -27,9 +23,4 @@ stdenvNoCC.mkDerivation {
wrapProgram "$out/bin/zellij" \
--prefix PATH : '${lib.makeBinPath extraPackages}'
'';
passthru = unwrapped.passthru or { } // {
inherit unwrapped;
updateScript = nix-update-script { attrPath = "zellij.unwrapped"; };
};
}