diff --git a/modules/programs/yazi.nix b/modules/programs/yazi.nix index 0f5117dbd..55a80bde2 100644 --- a/modules/programs/yazi.nix +++ b/modules/programs/yazi.nix @@ -265,8 +265,12 @@ in { toString missingFiles }"; singularOpt = removeSuffix "s" opt; + isPluginValid = opt == "plugins" + && (any (file: pathExists "${value}/${file}") requiredFiles); + isValid = + if opt == "plugins" then isPluginValid else missingFiles == [ ]; in { - assertion = isDir && missingFiles == [ ]; + assertion = isDir && isValid; message = '' Value at `programs.yazi.${opt}.${name}` is not a valid yazi ${singularOpt}. ${msgNotDir} @@ -281,6 +285,6 @@ in { "preview.png" "LICENSE" "LICENSE-tmtheme" - ]) ++ (mkAsserts "plugins" [ "init.lua" ]); + ]) ++ (mkAsserts "plugins" [ "init.lua" "main.lua" ]); }; }