diff --git a/.gitmodules b/.gitmodules index d9d69eb..95b3895 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,3 +22,9 @@ [submodule "home-manager/core/programs/yazi/plugins/glow.yazi"] path = home-manager/core/programs/yazi/plugins/glow.yazi url = https://github.com/Reledia/glow.yazi +[submodule "home-manager/core/programs/yazi/plugins/wl-clipboard.yazi"] + path = home-manager/core/programs/yazi/plugins/wl-clipboard.yazi + url = https://github.com/grappas/wl-clipboard.yazi +[submodule "home-manager/core/programs/yazi/plugins/rich-preview.yazi"] + path = home-manager/core/programs/yazi/plugins/rich-preview.yazi + url = https://github.com/AnirudhG07/rich-preview.yazi diff --git a/home-manager/core/programs/yazi.nix b/home-manager/core/programs/yazi.nix index d73951f..09c7999 100644 --- a/home-manager/core/programs/yazi.nix +++ b/home-manager/core/programs/yazi.nix @@ -9,18 +9,21 @@ programs.yazi = { enable = true; package = unstablePkgs.yazi; + programs.yazi.enableNushellIntegration = true; initLua = ./yazi/init.lua; # plugins = { - # sudo = ./yazi/plugins/sudo.yazi; # chmod = ./yazi/plugins/core/chmod.yazi; - # mime-ext = ./yazi/plugins/core/mime-ext.yazi; - # git = ./yazi/plugins/core/git.yazi; - # ouch = ./yazi/plugins/ouch.yazi; - # starship = ./yazi/plugins/starship.yazi; # full-border = ./yazi/plugins/core/full-border.yazi; + # git = ./yazi/plugins/core/git.yazi; # glow = ./yazi/plugins/glow.yazi; # hexyl = ./yazi/plugins/hexyl.yazi; # max-preview = ./yazi/plugins/core/max-preview.yazi; + # mime-ext = ./yazi/plugins/core/mime-ext.yazi; + # ouch = ./yazi/plugins/ouch.yazi; + # rich-preview = ./yazi/plugins/core/rich-preview.yazi; + # starship = ./yazi/plugins/starship.yazi; + # sudo = ./yazi/plugins/sudo.yazi; + # wl-clipboard = ./yazi/plugins/core/wl-clipboard.yazi; # }; # flavors = { # tokyo-night = ./yazi/flavors/tokyo-night.yazi; @@ -34,16 +37,18 @@ # Manually place plugins for now, until home-manager updates for newer yazi versions xdg.configFile = { - "yazi/plugins/sudo.yazi".source = ./yazi/plugins/sudo.yazi; "yazi/plugins/chmod.yazi".source = ./yazi/plugins/core/chmod.yazi; - "yazi/plugins/mime-ext.yazi".source = ./yazi/plugins/core/mime-ext.yazi; - "yazi/plugins/git.yazi".source = ./yazi/plugins/core/git.yazi; - "yazi/plugins/ouch.yazi".source = ./yazi/plugins/ouch.yazi; - "yazi/plugins/starship.yazi".source = ./yazi/plugins/starship.yazi; "yazi/plugins/full-border.yazi".source = ./yazi/plugins/core/full-border.yazi; + "yazi/plugins/git.yazi".source = ./yazi/plugins/core/git.yazi; "yazi/plugins/glow.yazi".source = ./yazi/plugins/glow.yazi; "yazi/plugins/hexyl.yazi".source = ./yazi/plugins/hexyl.yazi; "yazi/plugins/max-preview.yazi".source = ./yazi/plugins/core/max-preview.yazi; + "yazi/plugins/mime-ext.yazi".source = ./yazi/plugins/core/mime-ext.yazi; + "yazi/plugins/ouch.yazi".source = ./yazi/plugins/ouch.yazi; + "yazi/plugins/rich-preview.yazi".source = ./yazi/plugins/core/rich-preview.yazi; + "yazi/plugins/starship.yazi".source = ./yazi/plugins/starship.yazi; + "yazi/plugins/sudo.yazi".source = ./yazi/plugins/sudo.yazi; + "yazi/plugins/wl-clipboard.yazi".source = ./yazi/plugins/core/wl-clipboard.yazi; "yazi/flavors/tokyo-night.yazi".source = ./yazi/flavors/tokyo-night.yazi; }; } diff --git a/home-manager/core/programs/yazi/keymap.toml b/home-manager/core/programs/yazi/keymap.toml index dbfcdcb..e355447 100644 --- a/home-manager/core/programs/yazi/keymap.toml +++ b/home-manager/core/programs/yazi/keymap.toml @@ -487,3 +487,8 @@ desc = "Chmod on selected files" on = "T" run = "plugin --sync max-preview" desc = "Maximize or restore preview" + +[[manager.prepend_keymap]] +on = "" +run = ["plugin wl-clipboard"] +desc = "Yank to wl-clipboard" diff --git a/home-manager/core/programs/yazi/plugins/rich-preview.yazi b/home-manager/core/programs/yazi/plugins/rich-preview.yazi new file mode 160000 index 0000000..2559e5f --- /dev/null +++ b/home-manager/core/programs/yazi/plugins/rich-preview.yazi @@ -0,0 +1 @@ +Subproject commit 2559e5fa7c1651dbe7c5615ef6f3b5291347d81a diff --git a/home-manager/core/programs/yazi/plugins/wl-clipboard.yazi b/home-manager/core/programs/yazi/plugins/wl-clipboard.yazi new file mode 160000 index 0000000..c4edc4f --- /dev/null +++ b/home-manager/core/programs/yazi/plugins/wl-clipboard.yazi @@ -0,0 +1 @@ +Subproject commit c4edc4f6adf088521f11d0acf2b70610c31924f0 diff --git a/home-manager/core/programs/yazi/yazi.toml b/home-manager/core/programs/yazi/yazi.toml index b38c22e..9b4ea5b 100644 --- a/home-manager/core/programs/yazi/yazi.toml +++ b/home-manager/core/programs/yazi/yazi.toml @@ -1,12 +1,17 @@ [plugin] prepend_previewers = [ - { name = "*.md", run = "glow" }, - { name = "*.bin", run = "hexyl" }, + { name = "*.md", run = "glow" }, + { name = "*.bin", run = "hexyl" }, ] append_previewers = [ - { name = "*", run = "hexyl" }, + { name = "*", run = "hexyl" }, + { name = "*.csv", run = "rich-preview" }, + { name = "*.md", run = "rich-preview" }, + { name = "*.rst", run = "rich-preview" }, + { name = "*.ipynb", run = "rich-preview" }, + { name = "*.json", run = "rich-preview" }, ] prepend_fetchers = [ - { id = "git", name = "*", run = "git" }, - { id = "git", name = "*/", run = "git" }, + { id = "git", name = "*", run = "git" }, + { id = "git", name = "*/", run = "git" }, ]