Yazi: update to HM 23.11

This commit is contained in:
Filippo Berto 2023-12-12 00:02:21 +01:00
parent ec04c5bb96
commit 4aafcada3c
Signed by: bertof
GPG key ID: 9DBF7E6A1D2CE9ED

View file

@ -1,65 +1,51 @@
{ pkgs, ... }:
let
tomlGenerate = (pkgs.formats.toml { }).generate;
bashIntegration = ''
function ya() {
tmp="$(mktemp -t "yazi-cwd.XXXXX")"
yazi --cwd-file="$tmp"
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
cd -- "$cwd"
fi
rm -f -- "$tmp"
}
'';
in
{
home.packages = [ pkgs.unstable_pkgs.yazi pkgs.ffmpegthumbnailer pkgs.exiftool pkgs.mediainfo ];
xdg.configFile."yazi/yazi.toml".source = tomlGenerate "yazi.toml" {
manager = {
sort_by = "natural";
sort_dir_first = true;
sort_reverse = false;
};
opener = {
folder = [
{ exec = ''xdg-open "$@"''; display_name = "Open folder"; }
{ exec = ''$EDITOR "$@"''; }
];
archive = [
{ exec = ''file-roller "$1"''; display_name = "Open with File Roller"; }
{ exec = ''unar "$1"''; display_name = "Extract here"; }
];
text = [
{ exec = ''$EDITOR "$@"''; block = true; display_name = "Open with editor"; }
];
image = [
{ exec = ''xdg-open "$@"''; display_name = "Open"; }
{ exec = '''exiftool "$1"; echo "Press enter to exit"; read''; block = true; display_name = "Show EXIF"; }
];
video = [
{ exec = ''mpv "$@"''; }
{ exec = ''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; display_name = "Show media info"; }
];
audio = [
{ exec = ''mpv "$@"''; }
{ exec = '''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; display_name = "Show media info"; }
];
fallback = [
{ exec = ''xdg-open "$@"''; display_name = "Open"; }
{ exec = ''bat --pagin=always "$@"''; block = true; display_name = "Open with bat"; }
{ exec = ''$EDITOR "$@"''; block = true; display_name = "Open with editor"; }
];
};
{ pkgs, ... }: {
home = {
packages = [ pkgs.ffmpegthumbnailer pkgs.exiftool pkgs.mediainfo ];
shellAliases.y = "yazi";
};
# programs.yazi = {
# enable = true;
# enableBashIntegration = true;
# enableZshIntegration = true;
# };
programs.bash.initExtra = bashIntegration;
programs.zsh.initExtra = bashIntegration;
programs.yazi = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
package = pkgs.unstable_pkgs.yazi;
settings = {
manager = {
sort_by = "natural";
sort_dir_first = true;
sort_reverse = false;
};
opener = {
folder = [
{ exec = ''xdg-open "$@"''; display_name = "Open folder"; }
{ exec = ''$EDITOR "$@"''; }
];
archive = [
{ exec = ''file-roller "$1"''; display_name = "Open with File Roller"; }
{ exec = ''unar "$1"''; display_name = "Extract here"; }
];
text = [
{ exec = ''$EDITOR "$@"''; block = true; display_name = "Open with editor"; }
];
image = [
{ exec = ''xdg-open "$@"''; display_name = "Open"; }
{ exec = '''exiftool "$1"; echo "Press enter to exit"; read''; block = true; display_name = "Show EXIF"; }
];
video = [
{ exec = ''mpv "$@"''; }
{ exec = ''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; display_name = "Show media info"; }
];
audio = [
{ exec = ''mpv "$@"''; }
{ exec = '''mediainfo "$1"; echo "Press enter to exit"; read''; block = true; display_name = "Show media info"; }
];
fallback = [
{ exec = ''xdg-open "$@"''; display_name = "Open"; }
{ exec = ''bat --pagin=always "$@"''; block = true; display_name = "Open with bat"; }
{ exec = ''$EDITOR "$@"''; block = true; display_name = "Open with editor"; }
];
};
};
};
}