diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix index 750acab..db07a0d 100755 --- a/home-modules/yazi.nix +++ b/home-modules/yazi.nix @@ -1,5 +1,5 @@ -{ pkgs, lib, system, user, inputs, ... }: +{ pkgs, lib, user, rice, ... }: lib.mkIf (user != "tv") { home.packages = with pkgs; [ @@ -100,5 +100,88 @@ lib.mkIf (user != "tv") { mime = "application/x-7z-compressed"; use = "archive"; } ]; }; + theme = with rice.color; { + manager = { + cwd = { fg = foreground; bg = background; }; + hovered = { fg = background; bg = accent.base; }; + preview_hovered = { underline = false; }; + find_keyword = { fg = weird.base; italic = true; }; + find_position = { fg = weird.base; bg = "reset"; italic = true; }; + marker_selected = { fg = accent.base; bg = accent.base; }; + marker_copied = { fg = weird.base; bg = weird.base; }; + marker_cut = { fg = negative.base; bg = negative.base; }; + tab_active = { fg = background; bg = accent.base; }; + tab_inactive = { fg = accent.base; bg = background; }; + tab_width = 1; + border_symbol = "│"; + border_style = { fg = border; }; + }; + status = { + separator_open = " "; #""; + separator_close = " "; #""; + separator_style = { fg = accent.base; bg = black.base; }; + mode_normal = { fg = yellow.bright; bg = yellow.dark; }; + mode_select = { fg = cyan.bright; bg = cyan.dark; }; + mode_unset = { fg = blue.bright; bg = blue.dark; }; + progress_label = { fg = secondary.base; bold = true; }; + progress_normal = { fg = accent.base; bg = black.base; }; + progress_error = { fg = negative.base; bg = black.base; }; + permissions_t = { fg = special.base; }; + permissions_r = { fg = accent.base; }; + permissions_w = { fg = secondary.base; }; + permissions_x = { fg = tertiary.base; }; + permissions_s = { fg = special.base; }; + }; + input = { + border = { fg = border; }; + title = {}; + value = {}; + selected = { reversed = true; }; + }; + select = { + border = { fg = border; }; + active = { fg = accent.base; }; + inactive = {}; + }; + tasks = { + border = { fg = border2; }; + title = {}; + hovered = { underline = true; }; + }; + which = { + mask = { bg = "#3c3836"; }; + cand = { fg = "#83a598"; }; + rest = { fg = "#928374"; }; + desc = { fg = "#fe8019"; }; + separator = "  "; + separator_style = { fg = "#504945"; }; + }; + help = { + on = { fg = "#fe8019"; }; + exec = { fg = "#83a598"; }; + desc = { fg = "#928374"; }; + hovered = { bg = "#504945"; bold = true; }; + footer = { fg = "#3c3836"; bg = "#a89984"; }; + }; + filetype = { + rules = [ + # Empty files + { mime = "inode/x-empty"; fg = white.dark; } + { mime = "inode/directory"; fg = accent.base; } + + { name = "*"; is = "link"; fg = tertiary.base; } + { name = "*"; is = "orphan"; fg = negative.base; } + { name = "*"; is = "block"; fg = special.base; } + { name = "*"; is = "char"; fg = special.bright; } + { name = "*"; is = "exec"; fg = secondary.base; } + { name = "*"; is = "fifo"; fg = weird.base; } + { name = "*"; is = "sock"; fg = weird.bright; } + { name = "*"; is = "sticky"; fg = special.base; } + + # Fallback + { name = "*"; fg = foreground; } + ]; + }; + }; }; }