2024-09-27 23:08:25 +03:00
|
|
|
{ pkgs, lib, ... }: let
|
|
|
|
yazi-plugins = pkgs.fetchFromGitHub {
|
|
|
|
owner = "yazi-rs";
|
|
|
|
repo = "plugins";
|
2025-03-30 22:22:46 +03:00
|
|
|
rev = "273019910c1111a388dd20e057606016f4bd0d17";
|
|
|
|
hash = "sha256-80mR86UWgD11XuzpVNn56fmGRkvj0af2cFaZkU8M31I=";
|
2025-02-08 18:38:55 +03:00
|
|
|
};
|
|
|
|
starship = pkgs.fetchFromGitHub {
|
|
|
|
owner = "Rolv-Apneseth";
|
|
|
|
repo = "starship.yazi";
|
2025-03-30 22:22:46 +03:00
|
|
|
rev = "6c639b474aabb17f5fecce18a4c97bf90b016512";
|
|
|
|
sha256 = "sha256-bhLUziCDnF4QDCyysRn7Az35RAy8ibZIVUzoPgyEO1A=";
|
2024-09-27 23:08:25 +03:00
|
|
|
};
|
|
|
|
in {
|
|
|
|
programs.yazi = {
|
|
|
|
enable = true;
|
|
|
|
enableZshIntegration = true;
|
|
|
|
shellWrapperName = "y";
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
manager = {
|
|
|
|
show_hidden = true;
|
|
|
|
};
|
|
|
|
preview = {
|
|
|
|
max_width = 1000;
|
|
|
|
max_height = 1000;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
plugins = {
|
|
|
|
chmod = "${yazi-plugins}/chmod.yazi";
|
|
|
|
full-border = "${yazi-plugins}/full-border.yazi";
|
|
|
|
max-preview = "${yazi-plugins}/max-preview.yazi";
|
2025-02-08 18:38:55 +03:00
|
|
|
starship = starship;
|
2024-09-27 23:08:25 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
initLua = ''
|
|
|
|
require("full-border"):setup()
|
|
|
|
require("starship"):setup()
|
|
|
|
'';
|
|
|
|
|
|
|
|
keymap = {
|
|
|
|
manager.prepend_keymap = [
|
|
|
|
{
|
|
|
|
on = "T";
|
|
|
|
run = "plugin --sync max-preview";
|
|
|
|
desc = "Maximize or restore the preview pane";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
on = ["c" "m"];
|
|
|
|
run = "plugin chmod";
|
|
|
|
desc = "Chmod on selected files";
|
|
|
|
}
|
2024-12-17 22:27:15 +03:00
|
|
|
{
|
|
|
|
on = [ "<C-n>" ];
|
|
|
|
run = ''shell '${lib.getExe pkgs.xdragon} -x -i -T "$@"' --confirm'';
|
|
|
|
}
|
2025-03-29 15:04:24 +03:00
|
|
|
{
|
|
|
|
on = [ "g" "<S-d>" ];
|
|
|
|
run = ''cd /mnt/D'';
|
|
|
|
desc = "Goto D drive";
|
|
|
|
}
|
2024-09-27 23:08:25 +03:00
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|