main
1{
2 flake.modules.homeManager.core = {pkgs, ...}: let
3 yaziPlugins.auto-layout = pkgs.yaziPlugins.mkYaziPlugin {
4 pname = "auto-layout.yazi";
5 version = "unstable-25-07-30";
6 src = pkgs.fetchFromGitHub {
7 owner = "luccahuguet";
8 repo = "auto-layout.yazi";
9 rev = "e24bee9f6dd15ff80eae1b3dc1a6b06ee7e66121";
10 hash = "sha256-4vRIGU/ArXhW9ervhyNhpfDN7UF4pqVYnxi6FExlgGk=";
11 };
12 meta = {
13 description = "Automatically change the column layout in yazi based on available window width";
14 homepage = "https://github.com/luccahuguet/auto-layout.yazi";
15 license = pkgs.lib.licenses.mit;
16 };
17 };
18 in {
19 programs.yazi = {
20 enable = true;
21 enableBashIntegration = true;
22 enableFishIntegration = true;
23 shellWrapperName = "yy";
24 plugins = {
25 git = pkgs.yaziPlugins.git;
26 # starship = pkgs.yaziPlugins.starship;
27 wl-clipboard = pkgs.yaziPlugins.wl-clipboard;
28 auto-layout = yaziPlugins.auto-layout;
29 };
30 initLua = ''
31 require("git"):setup()
32 require("auto-layout").setup()
33 '';
34 settings = {
35 mgr = {
36 show_hidden = true;
37 sort_dir_first = true;
38 };
39 plugin.prepend_fetchers = [
40 {
41 id = "git";
42 name = "*";
43 run = "git";
44 }
45 {
46 id = "git";
47 name = "*/";
48 run = "git";
49 }
50 ];
51 };
52 };
53 };
54}