yaziPlugins: support finalAttrs pattern; yazi{Plugins}: add meta.changelog (#520106)
This commit is contained in:
@@ -62,6 +62,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
meta = {
|
||||
description = "Blazing fast terminal file manager written in Rust, based on async I/O";
|
||||
homepage = "https://github.com/sxyazi/yazi";
|
||||
changelog = "https://github.com/sxyazi/yazi/blob/${finalAttrs.passthru.srcs.code_src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
eljamm
|
||||
|
||||
@@ -102,6 +102,7 @@ runCommand yazi-unwrapped.name
|
||||
license
|
||||
maintainers
|
||||
mainProgram
|
||||
changelog
|
||||
;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
fetchFromGitHub,
|
||||
mkYaziPlugin,
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
mkYaziPlugin (finalAttrs: {
|
||||
pname = "compress.yazi";
|
||||
version = "0.6";
|
||||
|
||||
@@ -17,7 +17,8 @@ mkYaziPlugin {
|
||||
meta = {
|
||||
description = "Yazi plugin that compresses selected files to an archive";
|
||||
homepage = "https://github.com/KKV9/compress.yazi";
|
||||
changelog = "https://github.com/KKV9/compress.yazi/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ eljamm ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -8,21 +8,23 @@ let
|
||||
root = ./.;
|
||||
updateScript = ./update.py;
|
||||
|
||||
mkYaziPlugin =
|
||||
args@{
|
||||
pname,
|
||||
src,
|
||||
meta ? { },
|
||||
installPhase ? null,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Extract the plugin name from pname (removing .yazi suffix if present)
|
||||
pluginName = lib.removeSuffix ".yazi" pname;
|
||||
in
|
||||
stdenvNoCC.mkDerivation (
|
||||
args
|
||||
// {
|
||||
mkYaziPlugin = lib.extendMkDerivation {
|
||||
constructDrv = stdenvNoCC.mkDerivation;
|
||||
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
{
|
||||
pname,
|
||||
src,
|
||||
meta ? { },
|
||||
installPhase ? null,
|
||||
...
|
||||
}@args:
|
||||
let
|
||||
# Extract the plugin name from pname (removing .yazi suffix if present)
|
||||
pluginName = lib.removeSuffix ".yazi" pname;
|
||||
in
|
||||
{
|
||||
installPhase =
|
||||
if installPhase != null then
|
||||
installPhase
|
||||
@@ -66,8 +68,8 @@ let
|
||||
supportedFeatures = [ "commit" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
call = name: callPackage (root + "/${name}") { inherit mkYaziPlugin; };
|
||||
in
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
fetchFromGitHub,
|
||||
mkYaziPlugin,
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
mkYaziPlugin (finalAttrs: {
|
||||
pname = "sshfs.yazi";
|
||||
version = "2.1.0";
|
||||
|
||||
@@ -17,7 +17,8 @@ mkYaziPlugin {
|
||||
meta = {
|
||||
description = "Minimal SSHFS integration for the Yazi terminal file‑manager";
|
||||
homepage = "https://github.com/uhs-robert/sshfs.yazi";
|
||||
changelog = "https://github.com/uhs-robert/sshfs.yazi/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ ilosariph ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
fetchFromGitHub,
|
||||
mkYaziPlugin,
|
||||
}:
|
||||
mkYaziPlugin {
|
||||
mkYaziPlugin (finalAttrs: {
|
||||
pname = "yatline.yazi";
|
||||
version = "0.5.0";
|
||||
|
||||
@@ -17,7 +17,8 @@ mkYaziPlugin {
|
||||
meta = {
|
||||
description = "Yazi plugin for customizing both header-line and status-line";
|
||||
homepage = "https://github.com/imsi32/yatline.yazi";
|
||||
changelog = "https://github.com/imsi32/yatline.yazi/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ khaneliman ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user