From 4aafcada3c262c6710a9fb5b74ec9441942a64f6 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 12 Dec 2023 00:02:21 +0100 Subject: [PATCH] Yazi: update to HM 23.11 --- modules/hm/yazi.nix | 108 +++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 61 deletions(-) diff --git a/modules/hm/yazi.nix b/modules/hm/yazi.nix index 7d7a616..faa54f4 100644 --- a/modules/hm/yazi.nix +++ b/modules/hm/yazi.nix @@ -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"; } + ]; + }; + }; + }; }