📁 Yazi File Browser

This commit is contained in:
Martin Berg Alstad 2025-01-11 11:15:48 +01:00
parent 92e21a03dc
commit e2d16b9aa9
Signed by: martials
GPG Key ID: A3824877B269F2E2
5 changed files with 5555 additions and 1 deletions

View File

@ -18,6 +18,7 @@ in
./wlogout
./hyprland
./spicetify.nix
./yazi
];
# Home Manager needs a bit of information about you and the

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,327 @@
{ lib, ... }:
let
theme = import ../../theme.nix;
batTheme = ".config/yazi/catppuccin-${theme.flavor}.tmTheme";
in
{
home.file.${batTheme}.source = ./catppuccin-mocha.tmTheme;
programs.yazi = {
enable = true;
settings = {
manager = {
ratio = [
2
4
2
];
sort_by = "natural";
sort_sensitive = true;
sort_reverse = false;
sort_dir_first = true;
linemode = "none";
show_hidden = true;
show_symlink = true;
};
preview = {
image_filter = "lanczos3";
image_quality = 90;
tab_size = 1;
max_width = 600;
max_height = 900;
cache_dir = "";
ueberzug_scale = 1;
ueberzug_offset = [
0
0
0
0
];
};
tasks = {
micro_workers = 5;
macro_workers = 10;
bizarre_retry = 5;
};
};
theme = lib.mkForce {
manager = {
cwd = {
fg = "#${theme.tealAlpha}";
};
hovered = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.blueAlpha}";
};
preview_hovered = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.textAlpha}";
};
find_keyword = {
fg = "#${theme.yellowAlpha}";
italic = true;
};
find_position = {
fg = "#${theme.pinkAlpha}";
bg = "reset";
italic = true;
};
marker_copied = {
fg = "#${theme.greenAlpha}";
bg = "#${theme.greenAlpha}";
};
marker_cut = {
fg = "#${theme.redAlpha}";
bg = "#${theme.redAlpha}";
};
marker_marked = {
fg = "#${theme.tealAlpha}";
bg = "#${theme.tealAlpha}";
};
marker_selected = {
fg = "#${theme.blueAlpha}";
bg = "#${theme.blueAlpha}";
};
tab_active = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.textAlpha}";
};
tab_inactive = {
fg = "#${theme.textAlpha}";
bg = "#${theme.surface1Alpha}";
};
tab_width = 1;
count_copied = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.greenAlpha}";
};
count_cut = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.redAlpha}";
};
count_selected = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.blueAlpha}";
};
border_symbol = "";
border_style.fg = "#${theme.overlay1Alpha}";
syntect_theme = "~/${batTheme}";
};
mode = {
normal_main = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.blueAlpha}";
bold = true;
};
normal_alt = {
fg = "#${theme.blueAlpha}";
bg = "#${theme.surface0Alpha}";
};
select_main = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.greenAlpha}";
bold = true;
};
select_alt = {
fg = "#${theme.greenAlpha}";
bg = "#${theme.surface0Alpha}";
};
unset_main = {
fg = "#${theme.baseAlpha}";
bg = "#${theme.flamingoAlpha}";
bold = true;
};
unset_alt = {
fg = "#${theme.flamingoAlpha}";
bg = "#${theme.surface0Alpha}";
};
};
status = {
separator_open = "";
separator_close = "";
progress_label = {
fg = "#ffffff";
bold = true;
};
progress_normal = {
fg = "#${theme.blueAlpha}";
bg = "#${theme.surface1Alpha}";
};
progress_error = {
fg = "#${theme.redAlpha}";
bg = "#${theme.surface1Alpha}";
};
perm_type = {
fg = "#${theme.blueAlpha}";
};
perm_read = {
fg = "#${theme.yellowAlpha}";
};
perm_write = {
fg = "#${theme.redAlpha}";
};
perm_exec = {
fg = "#${theme.greenAlpha}";
};
perm_sep = {
fg = "#${theme.overlay1Alpha}";
};
};
input = {
border = {
fg = "#${theme.blueAlpha}";
};
title = { };
value = { };
selected.reversed = true;
};
pick = {
border = {
fg = "#${theme.blueAlpha}";
};
active = {
fg = "#${theme.pinkAlpha}";
};
inactive = { };
};
confirm = {
border = {
fg = "#${theme.blueAlpha}";
};
title = {
fg = "#${theme.blueAlpha}";
};
content = { };
list = { };
btn_yes = {
reversed = true;
};
btn_no = { };
};
completion = {
border = {
fg = "#${theme.blueAlpha}";
};
};
tasks = {
border = {
fg = "#${theme.blueAlpha}";
};
title = { };
hovered = {
underline = true;
};
};
which = {
mask = {
bg = "#${theme.surface0Alpha}";
};
cand = {
fg = "#${theme.tealAlpha}";
};
rest = {
fg = "#9399b2";
};
desc = {
fg = "#${theme.pinkAlpha}";
};
separator = " ";
separator_style = {
fg = "#${theme.surface2Alpha}";
};
};
help = {
on = {
fg = "#${theme.tealAlpha}";
};
run = {
fg = "#${theme.pinkAlpha}";
};
desc = {
fg = "#9399b2";
};
hovered = {
bg = "#${theme.surface2Alpha}";
bold = true;
};
footer = {
fg = "#${theme.textAlpha}";
bg = "#${theme.surface1Alpha}";
};
};
notify = {
title_info = {
fg = "#${theme.tealAlpha}";
};
title_warn = {
fg = "#${theme.yellowAlpha}";
};
title_error = {
fg = "#${theme.redAlpha}";
};
};
filetype = {
rules = [
# Media
{
mime = "image/*";
fg = "#${theme.tealAlpha}";
}
{
mime = "{audio;video}/*";
fg = "#${theme.yellowAlpha}";
}
# Archives
{
mime = "application/*zip";
fg = "#${theme.pinkAlpha}";
}
{
mime = "application/x-{tar;bzip*;7z-compressed;xz;rar}";
fg = "#${theme.pinkAlpha}";
}
# Documents
{
mime = "application/{pdf;doc;rtf}";
fg = "#${theme.greenAlpha}";
}
# Fallback
{
name = "*";
fg = "#${theme.textAlpha}";
}
{
name = "*/";
fg = "#${theme.blueAlpha}";
}
];
};
icon = import ./icons.nix;
};
};
}

3146
home-manager/yazi/icons.nix Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,6 @@ rec {
theme = "catppuccin";
flavor = "mocha";
# TODO how to define font? JetBrainsMono | JetBrains Mono | JetBrainsMono Nerd Font | JetBrains Mono Nerd Font
nerdFont = "JetBrainsMono";
rosewaterAlpha = "f5e0dc";