1

Modules/Yazi: Use updated color module for theme

This commit is contained in:
2025-07-20 18:03:29 +02:00
parent 2a505de272
commit 8af1889558
6 changed files with 264 additions and 663 deletions

View File

@ -6,7 +6,7 @@
pkgs,
...
}: let
inherit (config.modules) yazi;
inherit (config.modules) yazi color;
in {
options.modules.yazi = import ./options.nix {inherit lib mylib;};
@ -17,7 +17,7 @@ in {
shellWrapperName = "y";
plugins = {
inherit (pkgs.yaziPlugins) chmod diff full-border git lazygit mount ouch rsync starship sudo; # smar-paste
inherit (pkgs.yaziPlugins) chmod diff full-border git lazygit mount ouch rsync starship sudo; # smart-paste
};
initLua = ''
@ -144,6 +144,7 @@ in {
];
};
# TODO: Extract to separate file
keymap = {
input.prepend_keymap = [
{
@ -218,6 +219,229 @@ in {
}
];
};
# https://github.com/catppuccin/yazi/blob/main/themes/mocha/catppuccin-mocha-lavender.toml
theme = {
mgr = {
cwd = {fg = color.hexS.teal;};
hovered = {
fg = color.hexS.accentText;
bg = color.hexS.accentDim;
italic = true;
bold = true;
};
preview_hovered = {
fg = color.hexS.accentText;
bg = color.hexS.accentDim;
italic = true;
bold = true;
};
find_keyword = {
italic = true;
bold = true;
underline = true;
};
find_position = {
italic = true;
bold = true;
underline = true;
};
marker_copied = {
fg = color.hexS.green;
bg = color.hexS.green;
};
marker_cut = {
fg = color.hexS.red;
bg = color.hexS.red;
};
marker_marked = {
fg = color.hexS.teal;
bg = color.hexS.teal;
};
marker_selected = {
fg = color.hexS.lavender;
bg = color.hexS.lavender;
};
count_copied = {
fg = color.hexS.accentText;
bg = color.hexS.green;
};
count_cut = {
fg = color.hexS.accentText;
bg = color.hexS.red;
};
count_selected = {
fg = color.hexS.accentText;
bg = color.hexS.lavender;
};
border_symbol = "";
border_style = {fg = color.hexS.overlay1;};
};
tabs = {
active = {
fg = color.hexS.accentText;
# Has to be the same as inactive.fg,
# otherwise the separators are colored incorrectly
bg = color.hexS.accent;
bold = true;
italic = true;
};
inactive = {
fg = color.hexS.accent;
bg = color.hexS.surface0;
};
};
mode = {
normal_main = {
fg = color.hexS.accentText;
bg = color.hexS.accent;
bold = true;
};
normal_alt = {
fg = color.hexS.accent;
bg = color.hexS.surface0;
};
select_main = {
fg = color.hexS.accentText;
bg = color.hexS.green;
bold = true;
};
select_alt = {
fg = color.hexS.green;
bg = color.hexS.surface0;
};
unset_main = {
fg = color.hexS.accentText;
bg = color.hexS.flamingo;
bold = true;
};
unset_alt = {
fg = color.hexS.flamingo;
bg = color.hexS.surface0;
};
};
status = {
separator_open = "";
separator_close = "";
progress_label = {
fg = color.hexS.accentText;
bold = true;
};
progress_normal = {
fg = color.hexS.blue;
bg = color.hexS.surface0;
};
progress_error = {
fg = color.hexS.red;
bg = color.hexS.surface0;
};
perm_type = {fg = color.hexS.blue;};
perm_read = {fg = color.hexS.yellow;};
perm_write = {fg = color.hexS.red;};
perm_exec = {fg = color.hexS.green;};
perm_sep = {fg = color.hexS.overlay1;};
};
input = {
border = {fg = color.hexS.accentDim;};
title = {};
value = {};
selected = {reversed = true;};
};
pick = {
border = {fg = color.hexS.accentDim;};
active = {fg = color.hexS.accentHl;};
inactive = {};
};
confirm = {
border = {fg = color.hexS.accentDim;};
title = {fg = color.hexS.accentDim;};
content = {};
list = {};
btn_yes = {reversed = true;};
btn_no = {};
};
cmp = {
border = {fg = color.hexS.accentDim;};
};
tasks = {
border = {fg = color.hexS.accentDim;};
title = {};
hovered = {underline = true;};
};
which = {
cand = {fg = color.hexS.accent;};
desc = {fg = color.hexS.accentHl;};
mask = {bg = color.hexS.surface0;};
rest = {fg = color.hexS.surface0;};
separator = " ";
separator_style = {fg = color.hexS.text;};
};
help = {
on = {fg = color.hexS.accent;};
run = {fg = color.hexS.accentHl;};
desc = {fg = color.hexS.text;};
hovered = {
fg = color.hexS.accentText; # TODO: This is not applied
bg = color.hexS.surface0; # If the fg would work we could use color.hexS.accentDim
bold = true;
italic = true;
};
footer = {
fg = color.hexS.text;
bg = color.hexS.surface0;
};
};
notify = {
title_info = {fg = color.hexS.teal;};
title_warn = {fg = color.hexS.yellow;};
title_error = {fg = color.hexS.red;};
};
spot = {
border = {fg = color.hexS.lavender;};
title = {fg = color.hexS.lavender;};
tbl_cell = {
fg = color.hexS.lavender;
reversed = true;
};
tbl_col = {bold = true;};
};
# Default rules good enough
# filetype = {
# prepend_rules = import ./specialFiletypes.nix {inherit lib nixosConfig color;};
# };
# Prepend to override default config
icon = {
prepend_dirs = import ./specialDirectories.nix {inherit color;};
prepend_files = import ./specialFiles.nix {inherit color;};
prepend_exts = import ./specialExtensions.nix {inherit color;};
};
};
};
};
}

View File

@ -1,21 +1,23 @@
{color}: let
mkIcon = name: text: fg: {
inherit name text fg;
mkIcon = name: text: {
inherit name text;
fg = color.hexS.accentHl;
};
in [
(mkIcon "Documents" "󰈙" color.hexS.accentHL)
(mkIcon "Downloads" "󰇚" color.hexS.accentHL)
(mkIcon "Games" "󰓓" color.hexS.accentHL)
(mkIcon "GitRepos" "" color.hexS.accentHL)
(mkIcon "Movies" "󰿎" color.hexS.accentHL)
(mkIcon "Music" "󰎄" color.hexS.accentHL)
(mkIcon "NixFlake" "" color.hexS.accentHL)
(mkIcon "Notes" "󰠮" color.hexS.accentHL)
(mkIcon "Pictures" "" color.hexS.accentHL)
(mkIcon "Projects" "󱃷" color.hexS.accentHL)
(mkIcon "Public" "󰒗" color.hexS.accentHL)
(mkIcon "Restic" "󰁯" color.hexS.accentHL)
(mkIcon "Shows" "󰿎" color.hexS.accentHL)
(mkIcon "Unity" "󰚯" color.hexS.accentHL)
(mkIcon "Videos" "" color.hexS.accentHL)
# /home/christoph/
(mkIcon "Documents" "󰈙")
(mkIcon "Downloads" "󰇚")
(mkIcon "Games" "󰓓")
(mkIcon "GitRepos" "")
(mkIcon "Movies" "󰿎")
(mkIcon "Music" "󰎄")
(mkIcon "NixFlake" "")
(mkIcon "Notes" "󰠮")
(mkIcon "Pictures" "")
(mkIcon "Projects" "󱃷")
(mkIcon "Public" "󰒗")
(mkIcon "Restic" "󰁯")
(mkIcon "Shows" "󰿎")
(mkIcon "Unity" "󰚯")
(mkIcon "Videos" "")
]

View File

@ -3,457 +3,5 @@
inherit name text fg;
};
in [
(mkExt "3gp" "" color.hexS.peach)
(mkExt "3mf" "󰆧" color.hexS.overlay1)
(mkExt "7z" "" color.hexS.peach)
(mkExt "aac" "" color.hexS.sapphire)
(mkExt "a" "" color.hexS.rosewater)
(mkExt "adb" "" color.hexS.teal)
(mkExt "ads" "" color.hexS.rosewater)
(mkExt "ai" "" color.hexS.yellow)
(mkExt "aif" "" color.hexS.sapphire)
(mkExt "aiff" "" color.hexS.sapphire)
(mkExt "android" "" color.hexS.green)
(mkExt "ape" "" color.hexS.sapphire)
(mkExt "apk" "" color.hexS.green)
(mkExt "apl" "" color.hexS.peach)
(mkExt "app" "" color.hexS.surface1)
(mkExt "applescript" "" color.hexS.overlay1)
(mkExt "asc" "󰦝" color.hexS.overlay0)
(mkExt "ass" "󰨖" color.hexS.yellow)
(mkExt "astro" "" color.hexS.red)
(mkExt "awk" "" color.hexS.surface2)
(mkExt "azcli" "" color.hexS.overlay0)
(mkExt "bak" "󰁯" color.hexS.overlay1)
(mkExt "bash" "" color.hexS.green)
(mkExt "bat" "" color.hexS.green)
(mkExt "bazel" "" color.hexS.green)
(mkExt "bib" "󱉟" color.hexS.yellow)
(mkExt "bicep" "" color.hexS.sapphire)
(mkExt "bicepparam" "" color.hexS.overlay1)
(mkExt "bin" "" color.hexS.surface1)
(mkExt "blade.php" "" color.hexS.red)
(mkExt "blend" "󰂫" color.hexS.peach)
(mkExt "blp" "󰺾" color.hexS.blue)
(mkExt "bmp" "" color.hexS.overlay1)
(mkExt "bqn" "" color.hexS.overlay0)
(mkExt "brep" "󰻫" color.hexS.green)
(mkExt "bz2" "" color.hexS.peach)
(mkExt "bz3" "" color.hexS.peach)
(mkExt "bz" "" color.hexS.peach)
(mkExt "bzl" "" color.hexS.green)
(mkExt "cache" "" color.hexS.rosewater)
(mkExt "cast" "" color.hexS.peach)
(mkExt "cbl" "" color.hexS.surface2)
(mkExt "cc" "" color.hexS.red)
(mkExt "ccm" "" color.hexS.red)
(mkExt "c" "" color.hexS.blue)
(mkExt "c++" "" color.hexS.red)
(mkExt "cfg" "" color.hexS.overlay1)
(mkExt "cjs" "" color.hexS.yellow)
(mkExt "cljc" "" color.hexS.green)
(mkExt "clj" "" color.hexS.green)
(mkExt "cljd" "" color.hexS.sapphire)
(mkExt "cljs" "" color.hexS.sapphire)
(mkExt "cmake" "" color.hexS.text)
(mkExt "cob" "" color.hexS.surface2)
(mkExt "cobol" "" color.hexS.surface2)
(mkExt "coffee" "" color.hexS.yellow)
(mkExt "🔥" "" color.hexS.peach)
(mkExt "conda" "" color.hexS.green)
(mkExt "conf" "" color.hexS.overlay1)
(mkExt "config.ru" "" color.hexS.surface0)
(mkExt "cow" "󰆚" color.hexS.peach)
(mkExt "cp" "" color.hexS.sapphire)
(mkExt "cpp" "" color.hexS.sapphire)
(mkExt "cppm" "" color.hexS.sapphire)
(mkExt "cpy" "" color.hexS.surface2)
(mkExt "cr" "" color.hexS.rosewater)
(mkExt "crdownload" "" color.hexS.teal)
(mkExt "cs" "󰌛" color.hexS.surface2)
(mkExt "csh" "" color.hexS.surface2)
(mkExt "cshtml" "󱦗" color.hexS.surface2)
(mkExt "cson" "" color.hexS.yellow)
(mkExt "csproj" "󰪮" color.hexS.surface2)
(mkExt "css" "" color.hexS.blue)
(mkExt "csv" "" color.hexS.green)
(mkExt "cts" "" color.hexS.sapphire)
(mkExt "cu" "" color.hexS.green)
(mkExt "cue" "󰲹" color.hexS.red)
(mkExt "cuh" "" color.hexS.overlay1)
(mkExt "cxx" "" color.hexS.sapphire)
(mkExt "cxxm" "" color.hexS.sapphire)
(mkExt "dart" "" color.hexS.surface2)
(mkExt "db" "" color.hexS.rosewater)
(mkExt "d" "" color.hexS.red)
(mkExt "dconf" "" color.hexS.rosewater)
(mkExt "desktop" "" color.hexS.surface1)
(mkExt "diff" "" color.hexS.surface1)
(mkExt "dll" "" color.hexS.crust)
(mkExt "doc" "󰈬" color.hexS.surface2)
(mkExt "Dockerfile" "󰡨" color.hexS.blue)
(mkExt "docx" "󰈬" color.hexS.surface2)
(mkExt "dot" "󱁉" color.hexS.surface2)
(mkExt "download" "" color.hexS.teal)
(mkExt "drl" "" color.hexS.maroon)
(mkExt "dropbox" "" color.hexS.overlay0)
(mkExt "d.ts" "" color.hexS.peach)
(mkExt "dump" "" color.hexS.rosewater)
(mkExt "dwg" "󰻫" color.hexS.green)
(mkExt "dxf" "󰻫" color.hexS.green)
(mkExt "ebook" "" color.hexS.peach)
(mkExt "ebuild" "" color.hexS.surface1)
(mkExt "edn" "" color.hexS.sapphire)
(mkExt "eex" "" color.hexS.overlay1)
(mkExt "ejs" "" color.hexS.yellow)
(mkExt "elc" "" color.hexS.overlay1)
(mkExt "el" "" color.hexS.overlay1)
(mkExt "elf" "" color.hexS.surface1)
(mkExt "elm" "" color.hexS.sapphire)
(mkExt "eln" "" color.hexS.overlay1)
(mkExt "env" "" color.hexS.yellow)
(mkExt "eot" "" color.hexS.rosewater)
(mkExt "epp" "" color.hexS.peach)
(mkExt "epub" "" color.hexS.peach)
(mkExt "erb" "" color.hexS.surface0)
(mkExt "erl" "" color.hexS.red)
(mkExt "ex" "" color.hexS.overlay1)
(mkExt "exe" "" color.hexS.surface1)
(mkExt "exs" "" color.hexS.overlay1)
(mkExt "f3d" "󰻫" color.hexS.green)
(mkExt "f90" "󱈚" color.hexS.surface2)
(mkExt "fbx" "󰆧" color.hexS.overlay1)
(mkExt "fcbak" "" color.hexS.red)
(mkExt "fcmacro" "" color.hexS.red)
(mkExt "fcmat" "" color.hexS.red)
(mkExt "f#" "" color.hexS.sapphire)
(mkExt "fcparam" "" color.hexS.red)
(mkExt "fcscript" "" color.hexS.red)
(mkExt "fcstd1" "" color.hexS.red)
(mkExt "fcstd" "" color.hexS.red)
(mkExt "fctb" "" color.hexS.red)
(mkExt "fctl" "" color.hexS.red)
(mkExt "fdmdownload" "" color.hexS.teal)
(mkExt "fish" "" color.hexS.surface2)
(mkExt "flac" "" color.hexS.overlay0)
(mkExt "flc" "" color.hexS.rosewater)
(mkExt "flf" "" color.hexS.rosewater)
(mkExt "fnl" "" color.hexS.yellow)
(mkExt "fodg" "" color.hexS.yellow)
(mkExt "fodp" "" color.hexS.peach)
(mkExt "fods" "" color.hexS.green)
(mkExt "fodt" "" color.hexS.sapphire)
(mkExt "fs" "" color.hexS.sapphire)
(mkExt "fsi" "" color.hexS.sapphire)
(mkExt "fsscript" "" color.hexS.sapphire)
(mkExt "fsx" "" color.hexS.sapphire)
(mkExt "gcode" "󰐫" color.hexS.overlay0)
(mkExt "gd" "" color.hexS.overlay1)
(mkExt "gemspec" "" color.hexS.surface0)
(mkExt "gif" "" color.hexS.overlay1)
(mkExt "git" "" color.hexS.peach)
(mkExt "glb" "" color.hexS.peach)
(mkExt "gleam" "" color.hexS.accentHL)
(mkExt "gnumakefile" "" color.hexS.overlay1)
(mkExt "go" "" color.hexS.sapphire)
(mkExt "godot" "" color.hexS.overlay1)
(mkExt "gpr" "" color.hexS.accent)
(mkExt "gql" "" color.hexS.red)
(mkExt "gradle" "" color.hexS.surface2)
(mkExt "graphql" "" color.hexS.red)
(mkExt "gresource" "" color.hexS.rosewater)
(mkExt "gv" "󱁉" color.hexS.surface2)
(mkExt "gz" "" color.hexS.peach)
(mkExt "haml" "" color.hexS.rosewater)
(mkExt "hbs" "" color.hexS.peach)
(mkExt "h" "" color.hexS.overlay1)
(mkExt "heex" "" color.hexS.overlay1)
(mkExt "hex" "" color.hexS.overlay0)
(mkExt "hh" "" color.hexS.overlay1)
(mkExt "hpp" "" color.hexS.overlay1)
(mkExt "hrl" "" color.hexS.red)
(mkExt "hs" "" color.hexS.overlay1)
(mkExt "htm" "" color.hexS.peach)
(mkExt "html" "" color.hexS.peach)
(mkExt "http" "" color.hexS.blue)
(mkExt "huff" "󰡘" color.hexS.surface2)
(mkExt "hurl" "" color.hexS.red)
(mkExt "hx" "" color.hexS.peach)
(mkExt "hxx" "" color.hexS.overlay1)
(mkExt "ical" "" color.hexS.surface0)
(mkExt "icalendar" "" color.hexS.surface0)
(mkExt "ico" "" color.hexS.yellow)
(mkExt "ics" "" color.hexS.surface0)
(mkExt "ifb" "" color.hexS.surface0)
(mkExt "ifc" "󰻫" color.hexS.green)
(mkExt "ige" "󰻫" color.hexS.green)
(mkExt "iges" "󰻫" color.hexS.green)
(mkExt "igs" "󰻫" color.hexS.green)
(mkExt "image" "" color.hexS.flamingo)
(mkExt "img" "" color.hexS.flamingo)
(mkExt "import" "" color.hexS.rosewater)
(mkExt "info" "" color.hexS.yellow)
(mkExt "ini" "" color.hexS.overlay1)
(mkExt "ino" "" color.hexS.sapphire)
(mkExt "ipynb" "" color.hexS.peach)
(mkExt "iso" "" color.hexS.flamingo)
(mkExt "ixx" "" color.hexS.sapphire)
(mkExt "java" "" color.hexS.red)
(mkExt "jl" "" color.hexS.overlay1)
(mkExt "jpeg" "" color.hexS.overlay1)
(mkExt "jpg" "" color.hexS.overlay1)
(mkExt "js" "" color.hexS.yellow)
(mkExt "json5" "" color.hexS.yellow)
(mkExt "jsonc" "" color.hexS.yellow)
(mkExt "json" "" color.hexS.yellow)
(mkExt "jsx" "" color.hexS.sapphire)
(mkExt "jwmrc" "" color.hexS.overlay0)
(mkExt "jxl" "" color.hexS.overlay1)
(mkExt "kbx" "󰯄" color.hexS.overlay0)
(mkExt "kdb" "" color.hexS.green)
(mkExt "kdbx" "" color.hexS.green)
(mkExt "kdenlive" "" color.hexS.blue)
(mkExt "kdenlivetitle" "" color.hexS.blue)
(mkExt "kicad_dru" "" color.hexS.rosewater)
(mkExt "kicad_mod" "" color.hexS.rosewater)
(mkExt "kicad_pcb" "" color.hexS.rosewater)
(mkExt "kicad_prl" "" color.hexS.rosewater)
(mkExt "kicad_pro" "" color.hexS.rosewater)
(mkExt "kicad_sch" "" color.hexS.rosewater)
(mkExt "kicad_sym" "" color.hexS.rosewater)
(mkExt "kicad_wks" "" color.hexS.rosewater)
(mkExt "ko" "" color.hexS.rosewater)
(mkExt "kpp" "" color.hexS.accent)
(mkExt "kra" "" color.hexS.accent)
(mkExt "krz" "" color.hexS.accent)
(mkExt "ksh" "" color.hexS.surface2)
(mkExt "kt" "" color.hexS.overlay0)
(mkExt "kts" "" color.hexS.overlay0)
(mkExt "lck" "" color.hexS.subtext1)
(mkExt "leex" "" color.hexS.overlay1)
(mkExt "less" "" color.hexS.surface1)
(mkExt "lff" "" color.hexS.rosewater)
(mkExt "lhs" "" color.hexS.overlay1)
(mkExt "lib" "" color.hexS.crust)
(mkExt "license" "" color.hexS.yellow)
(mkExt "liquid" "" color.hexS.green)
(mkExt "lock" "" color.hexS.subtext1)
(mkExt "log" "󰌱" color.hexS.text)
(mkExt "lrc" "󰨖" color.hexS.yellow)
(mkExt "luac" "" color.hexS.sapphire)
(mkExt "lua" "" color.hexS.sapphire)
(mkExt "luau" "" color.hexS.blue)
(mkExt "m3u8" "󰲹" color.hexS.red)
(mkExt "m3u" "󰲹" color.hexS.red)
(mkExt "m4a" "" color.hexS.sapphire)
(mkExt "m4v" "" color.hexS.peach)
(mkExt "magnet" "" color.hexS.surface1)
(mkExt "makefile" "" color.hexS.overlay1)
(mkExt "markdown" "" color.hexS.text)
(mkExt "material" "󰔉" color.hexS.red)
(mkExt "m" "" color.hexS.blue)
(mkExt "md5" "󰕥" color.hexS.overlay1)
(mkExt "md" "" color.hexS.text)
(mkExt "mdx" "" color.hexS.sapphire)
(mkExt "mint" "󰌪" color.hexS.green)
(mkExt "mjs" "" color.hexS.yellow)
(mkExt "mk" "" color.hexS.overlay1)
(mkExt "mkv" "" color.hexS.peach)
(mkExt "ml" "" color.hexS.peach)
(mkExt "mli" "" color.hexS.peach)
(mkExt "mm" "" color.hexS.sapphire)
(mkExt "mobi" "" color.hexS.peach)
(mkExt "mo" "" color.hexS.overlay1)
(mkExt "mojo" "" color.hexS.peach)
(mkExt "mov" "" color.hexS.peach)
(mkExt "mp3" "" color.hexS.sapphire)
(mkExt "mp4" "" color.hexS.peach)
(mkExt "mpp" "" color.hexS.sapphire)
(mkExt "msf" "" color.hexS.blue)
(mkExt "mts" "" color.hexS.sapphire)
(mkExt "mustache" "" color.hexS.peach)
(mkExt "nfo" "" color.hexS.yellow)
(mkExt "nim" "" color.hexS.yellow)
(mkExt "nix" "" color.hexS.sapphire)
(mkExt "nswag" "" color.hexS.green)
(mkExt "nu" ">" color.hexS.green)
(mkExt "obj" "󰆧" color.hexS.overlay1)
(mkExt "o" "" color.hexS.surface1)
(mkExt "odf" "" color.hexS.red)
(mkExt "odg" "" color.hexS.yellow)
(mkExt "odp" "" color.hexS.peach)
(mkExt "ods" "" color.hexS.green)
(mkExt "odt" "" color.hexS.sapphire)
(mkExt "ogg" "" color.hexS.overlay0)
(mkExt "opus" "" color.hexS.overlay0)
(mkExt "org" "" color.hexS.teal)
(mkExt "otf" "" color.hexS.rosewater)
(mkExt "out" "" color.hexS.surface1)
(mkExt "part" "" color.hexS.teal)
(mkExt "patch" "" color.hexS.surface1)
(mkExt "pck" "" color.hexS.overlay1)
(mkExt "pcm" "" color.hexS.overlay0)
(mkExt "pdf" "" color.hexS.surface2)
(mkExt "php" "" color.hexS.overlay1)
(mkExt "pl" "" color.hexS.sapphire)
(mkExt "pls" "󰲹" color.hexS.red)
(mkExt "ply" "󰆧" color.hexS.overlay1)
(mkExt "pm" "" color.hexS.sapphire)
(mkExt "png" "" color.hexS.overlay1)
(mkExt "po" "" color.hexS.sapphire)
(mkExt "pot" "" color.hexS.sapphire)
(mkExt "pp" "" color.hexS.peach)
(mkExt "ppt" "󰈧" color.hexS.red)
(mkExt "pptx" "󰈧" color.hexS.red)
(mkExt "prisma" "" color.hexS.overlay0)
(mkExt "pro" "" color.hexS.yellow)
(mkExt "ps1" "󰨊" color.hexS.overlay0)
(mkExt "psb" "" color.hexS.sapphire)
(mkExt "psd1" "󰨊" color.hexS.overlay1)
(mkExt "psd" "" color.hexS.sapphire)
(mkExt "psm1" "󰨊" color.hexS.overlay1)
(mkExt "pub" "󰷖" color.hexS.yellow)
(mkExt "pxd" "" color.hexS.blue)
(mkExt "pxi" "" color.hexS.blue)
(mkExt "pyc" "" color.hexS.yellow)
(mkExt "py" "" color.hexS.yellow)
(mkExt "pyd" "" color.hexS.yellow)
(mkExt "pyi" "" color.hexS.yellow)
(mkExt "pyo" "" color.hexS.yellow)
(mkExt "pyw" "" color.hexS.blue)
(mkExt "pyx" "" color.hexS.blue)
(mkExt "qm" "" color.hexS.sapphire)
(mkExt "qml" "" color.hexS.green)
(mkExt "qrc" "" color.hexS.green)
(mkExt "qss" "" color.hexS.green)
(mkExt "query" "" color.hexS.green)
(mkExt "rake" "" color.hexS.surface0)
(mkExt "rar" "" color.hexS.peach)
(mkExt "razor" "󱦘" color.hexS.surface2)
(mkExt "rb" "" color.hexS.surface0)
(mkExt "r" "󰟔" color.hexS.overlay0)
(mkExt "R" "󰟔" color.hexS.overlay0)
(mkExt "res" "" color.hexS.red)
(mkExt "resi" "" color.hexS.red)
(mkExt "rlib" "" color.hexS.peach)
(mkExt "rmd" "" color.hexS.sapphire)
(mkExt "rproj" "󰗆" color.hexS.green)
(mkExt "rs" "" color.hexS.peach)
(mkExt "rss" "" color.hexS.peach)
(mkExt "sass" "" color.hexS.red)
(mkExt "sbt" "" color.hexS.red)
(mkExt "scad" "" color.hexS.yellow)
(mkExt "scala" "" color.hexS.red)
(mkExt "sc" "" color.hexS.red)
(mkExt "scm" "󰘧" color.hexS.rosewater)
(mkExt "scss" "" color.hexS.red)
(mkExt "sha1" "󰕥" color.hexS.overlay1)
(mkExt "sha224" "󰕥" color.hexS.overlay1)
(mkExt "sha256" "󰕥" color.hexS.overlay1)
(mkExt "sha384" "󰕥" color.hexS.overlay1)
(mkExt "sha512" "󰕥" color.hexS.overlay1)
(mkExt "sh" "" color.hexS.surface2)
(mkExt "signature" "λ" color.hexS.peach)
(mkExt "sig" "λ" color.hexS.peach)
(mkExt "skp" "󰻫" color.hexS.green)
(mkExt "sldasm" "󰻫" color.hexS.green)
(mkExt "sldprt" "󰻫" color.hexS.green)
(mkExt "slim" "" color.hexS.peach)
(mkExt "sln" "" color.hexS.overlay0)
(mkExt "slvs" "󰻫" color.hexS.green)
(mkExt "sml" "λ" color.hexS.peach)
(mkExt "so" "" color.hexS.rosewater)
(mkExt "sol" "" color.hexS.sapphire)
(mkExt "spec.js" "" color.hexS.yellow)
(mkExt "spec.jsx" "" color.hexS.sapphire)
(mkExt "spec.ts" "" color.hexS.sapphire)
(mkExt "spec.tsx" "" color.hexS.surface2)
(mkExt "sql" "" color.hexS.rosewater)
(mkExt "sqlite3" "" color.hexS.rosewater)
(mkExt "sqlite" "" color.hexS.rosewater)
(mkExt "srt" "󰨖" color.hexS.yellow)
(mkExt "ssa" "󰨖" color.hexS.yellow)
(mkExt "ste" "󰻫" color.hexS.green)
(mkExt "step" "󰻫" color.hexS.green)
(mkExt "stl" "󰆧" color.hexS.overlay1)
(mkExt "stp" "󰻫" color.hexS.green)
(mkExt "strings" "" color.hexS.sapphire)
(mkExt "styl" "" color.hexS.green)
(mkExt "sub" "󰨖" color.hexS.yellow)
(mkExt "sublime" "" color.hexS.peach)
(mkExt "suo" "" color.hexS.overlay0)
(mkExt "sv" "󰍛" color.hexS.green)
(mkExt "svelte" "" color.hexS.peach)
(mkExt "svg" "󰜡" color.hexS.peach)
(mkExt "svh" "󰍛" color.hexS.green)
(mkExt "swift" "" color.hexS.peach)
(mkExt "tbc" "󰛓" color.hexS.surface2)
(mkExt "tcl" "󰛓" color.hexS.surface2)
(mkExt "t" "" color.hexS.sapphire)
(mkExt "templ" "" color.hexS.yellow)
(mkExt "terminal" "" color.hexS.green)
(mkExt "test.js" "" color.hexS.yellow)
(mkExt "test.jsx" "" color.hexS.sapphire)
(mkExt "test.ts" "" color.hexS.sapphire)
(mkExt "test.tsx" "" color.hexS.surface2)
(mkExt "tex" "" color.hexS.surface1)
(mkExt "tf" "" color.hexS.surface2)
(mkExt "tfvars" "" color.hexS.surface2)
(mkExt "tgz" "" color.hexS.peach)
(mkExt "tmux" "" color.hexS.green)
(mkExt "toml" "" color.hexS.surface2)
(mkExt "torrent" "" color.hexS.teal)
(mkExt "tres" "" color.hexS.overlay1)
(mkExt "tscn" "" color.hexS.overlay1)
(mkExt "ts" "" color.hexS.sapphire)
(mkExt "tsconfig" "" color.hexS.peach)
(mkExt "tsx" "" color.hexS.surface2)
(mkExt "ttf" "" color.hexS.rosewater)
(mkExt "twig" "" color.hexS.green)
(mkExt "txt" "󰈙" color.hexS.green)
(mkExt "txz" "" color.hexS.peach)
(mkExt "typ" "" color.hexS.sky)
(mkExt "typoscript" "" color.hexS.peach)
(mkExt "ui" "" color.hexS.overlay0)
(mkExt "vala" "" color.hexS.surface2)
(mkExt "v" "󰍛" color.hexS.green)
(mkExt "vh" "󰍛" color.hexS.green)
(mkExt "vhd" "󰍛" color.hexS.green)
(mkExt "vhdl" "󰍛" color.hexS.green)
(mkExt "vi" "" color.hexS.yellow)
(mkExt "vim" "" color.hexS.green)
(mkExt "vsh" "" color.hexS.overlay1)
(mkExt "vsix" "" color.hexS.overlay0)
(mkExt "vue" "" color.hexS.green)
(mkExt "wasm" "" color.hexS.surface2)
(mkExt "wav" "" color.hexS.sapphire)
(mkExt "webmanifest" "" color.hexS.yellow)
(mkExt "webm" "" color.hexS.peach)
(mkExt "webpack" "󰜫" color.hexS.sapphire)
(mkExt "webp" "" color.hexS.overlay1)
(mkExt "wma" "" color.hexS.sapphire)
(mkExt "woff2" "" color.hexS.rosewater)
(mkExt "woff" "" color.hexS.rosewater)
(mkExt "wrl" "󰆧" color.hexS.overlay1)
(mkExt "wrz" "󰆧" color.hexS.overlay1)
(mkExt "wvc" "" color.hexS.sapphire)
(mkExt "wv" "" color.hexS.sapphire)
(mkExt "xaml" "󰙳" color.hexS.surface2)
(mkExt "xcf" "" color.hexS.surface2)
(mkExt "x" "" color.hexS.blue)
(mkExt "xcplayground" "" color.hexS.peach)
(mkExt "xcstrings" "" color.hexS.sapphire)
(mkExt "xls" "󰈛" color.hexS.surface2)
(mkExt "xlsx" "󰈛" color.hexS.surface2)
(mkExt "xm" "" color.hexS.sapphire)
(mkExt "xml" "󰗀" color.hexS.peach)
(mkExt "xpi" "" color.hexS.peach)
(mkExt "xul" "" color.hexS.peach)
(mkExt "xz" "" color.hexS.peach)
(mkExt "yaml" "" color.hexS.overlay1)
(mkExt "yml" "" color.hexS.overlay1)
(mkExt "zig" "" color.hexS.peach)
(mkExt "zip" "" color.hexS.peach)
(mkExt "zsh" "" color.hexS.green)
(mkExt "zst" "" color.hexS.peach)
# (mkExt "nix" "" color.hexS.sky)
]

View File

@ -1,182 +1,7 @@
{color}: let
mkFile = name: icon: fg: {
inherit name icon fg;
mkFile = name: text: fg: {
inherit name text fg;
};
in [
(mkFile "avif" "" color.hexS.overlay1)
(mkFile ".babelrc" "" color.hexS.yellow)
(mkFile ".bash_profile" "" color.hexS.green)
(mkFile ".bashrc" "" color.hexS.green)
(mkFile "brewfile" "" color.hexS.surface0)
(mkFile "bspwmrc" "" color.hexS.surface0)
(mkFile "build" "" color.hexS.green)
(mkFile "build.gradle" "" color.hexS.surface2)
(mkFile "build.zig.zon" "" color.hexS.peach)
(mkFile "bun.lockb" "" color.hexS.rosewater)
(mkFile "cantorrc" "" color.hexS.blue)
(mkFile "checkhealth" "󰓙" color.hexS.blue)
(mkFile ".clang-format" "" color.hexS.overlay1)
(mkFile ".clang-tidy" "" color.hexS.overlay1)
(mkFile "cmakelists.txt" "" color.hexS.text)
(mkFile "code_of_conduct" "" color.hexS.red)
(mkFile "code_of_conduct.md" "" color.hexS.red)
(mkFile ".codespellrc" "󰓆" color.hexS.green)
(mkFile "commit_editmsg" "" color.hexS.peach)
(mkFile "commitlint.config.js" "󰜘" color.hexS.teal)
(mkFile "commitlint.config.ts" "󰜘" color.hexS.teal)
(mkFile "compose.yaml" "󰡨" color.hexS.blue)
(mkFile "compose.yml" "󰡨" color.hexS.blue)
(mkFile ".condarc" "" color.hexS.green)
(mkFile "config" "" color.hexS.overlay1)
(mkFile "containerfile" "󰡨" color.hexS.blue)
(mkFile "copying" "" color.hexS.yellow)
(mkFile "copying.lesser" "" color.hexS.yellow)
(mkFile "docker-compose.yaml" "󰡨" color.hexS.blue)
(mkFile "docker-compose.yml" "󰡨" color.hexS.blue)
(mkFile "dockerfile" "󰡨" color.hexS.blue)
(mkFile ".dockerignore" "󰡨" color.hexS.blue)
(mkFile ".ds_store" "" color.hexS.surface1)
(mkFile ".editorconfig" "" color.hexS.rosewater)
(mkFile ".env" "" color.hexS.yellow)
(mkFile "eslint.config.cjs" "" color.hexS.surface2)
(mkFile "eslint.config.js" "" color.hexS.surface2)
(mkFile "eslint.config.mjs" "" color.hexS.surface2)
(mkFile "eslint.config.ts" "" color.hexS.surface2)
(mkFile ".eslintignore" "" color.hexS.surface2)
(mkFile ".eslintrc" "" color.hexS.surface2)
(mkFile "ext_typoscript_setup.txt" "" color.hexS.peach)
(mkFile "favicon.ico" "" color.hexS.yellow)
(mkFile "fp-info-cache" "" color.hexS.rosewater)
(mkFile "fp-lib-table" "" color.hexS.rosewater)
(mkFile "FreeCAD.conf" "" color.hexS.red)
(mkFile "gemfile$" "" color.hexS.surface0)
(mkFile ".gitattributes" "" color.hexS.peach)
(mkFile ".git-blame-ignore-revs" "" color.hexS.peach)
(mkFile ".gitconfig" "" color.hexS.peach)
(mkFile ".gitignore" "" color.hexS.peach)
(mkFile ".gitlab-ci.yml" "" color.hexS.peach)
(mkFile ".gitmodules" "" color.hexS.peach)
(mkFile "gnumakefile" "" color.hexS.overlay1)
(mkFile "go.mod" "" color.hexS.sapphire)
(mkFile "go.sum" "" color.hexS.sapphire)
(mkFile "go.work" "" color.hexS.sapphire)
(mkFile "gradle.properties" "" color.hexS.surface2)
(mkFile "gradlew" "" color.hexS.surface2)
(mkFile "gradle-wrapper.properties" "" color.hexS.surface2)
(mkFile "groovy" "" color.hexS.surface2)
(mkFile "gruntfile.babel.js" "" color.hexS.peach)
(mkFile "gruntfile.coffee" "" color.hexS.peach)
(mkFile "gruntfile.js" "" color.hexS.peach)
(mkFile "gruntfile.ts" "" color.hexS.peach)
(mkFile ".gtkrc-2.0" "" color.hexS.rosewater)
(mkFile "gtkrc" "" color.hexS.rosewater)
(mkFile "gulpfile.babel.js" "" color.hexS.red)
(mkFile "gulpfile.coffee" "" color.hexS.red)
(mkFile "gulpfile.js" "" color.hexS.red)
(mkFile "gulpfile.ts" "" color.hexS.red)
(mkFile ".gvimrc" "" color.hexS.green)
(mkFile "_gvimrc" "" color.hexS.green)
(mkFile "hypridle.conf" "" color.hexS.sapphire)
(mkFile "hyprland.conf" "" color.hexS.sapphire)
(mkFile "hyprlock.conf" "" color.hexS.sapphire)
(mkFile "hyprpaper.conf" "" color.hexS.sapphire)
(mkFile "i18n.config.js" "󰗊" color.hexS.overlay1)
(mkFile "i18n.config.ts" "󰗊" color.hexS.overlay1)
(mkFile "i3blocks.conf" "" color.hexS.rosewater)
(mkFile "i3status.conf" "" color.hexS.rosewater)
(mkFile "ionic.config.json" "" color.hexS.blue)
(mkFile ".justfile" "" color.hexS.overlay1)
(mkFile "justfile" "" color.hexS.overlay1)
(mkFile "kalgebrarc" "" color.hexS.blue)
(mkFile "kdeglobals" "" color.hexS.blue)
(mkFile "kdenlive-layoutsrc" "" color.hexS.blue)
(mkFile "kdenliverc" "" color.hexS.blue)
(mkFile "kritadisplayrc" "" color.hexS.accent)
(mkFile "kritarc" "" color.hexS.accent)
(mkFile "license" "" color.hexS.yellow)
(mkFile "license.md" "" color.hexS.yellow)
(mkFile ".luacheckrc" "" color.hexS.blue)
(mkFile ".luaurc" "" color.hexS.blue)
(mkFile "lxde-rc.xml" "" color.hexS.overlay2)
(mkFile "lxqt.conf" "" color.hexS.blue)
(mkFile ".mailmap" "󰊢" color.hexS.peach)
(mkFile "makefile" "" color.hexS.overlay1)
(mkFile "mix.lock" "" color.hexS.overlay1)
(mkFile "mpv.conf" "" color.hexS.accentText)
(mkFile ".nanorc" "" color.hexS.surface0)
(mkFile "node_modules" "" color.hexS.red)
(mkFile ".npmignore" "" color.hexS.red)
(mkFile ".npmrc" "" color.hexS.red)
(mkFile "nuxt.config.cjs" "󱄆" color.hexS.green)
(mkFile "nuxt.config.js" "󱄆" color.hexS.green)
(mkFile "nuxt.config.mjs" "󱄆" color.hexS.green)
(mkFile "nuxt.config.ts" "󱄆" color.hexS.green)
(mkFile ".nuxtrc" "󱄆" color.hexS.green)
(mkFile ".nvmrc" "" color.hexS.green)
(mkFile "package.json" "" color.hexS.red)
(mkFile "package-lock.json" "" color.hexS.surface0)
(mkFile "PKGBUILD" "" color.hexS.blue)
(mkFile "platformio.ini" "" color.hexS.peach)
(mkFile "pom.xml" "" color.hexS.surface0)
(mkFile ".pre-commit-config.yaml" "󰛢" color.hexS.peach)
(mkFile "prettier.config.cjs" "" color.hexS.blue)
(mkFile "prettier.config.js" "" color.hexS.blue)
(mkFile "prettier.config.mjs" "" color.hexS.blue)
(mkFile "prettier.config.ts" "" color.hexS.blue)
(mkFile ".prettierignore" "" color.hexS.blue)
(mkFile ".prettierrc.cjs" "" color.hexS.blue)
(mkFile ".prettierrc" "" color.hexS.blue)
(mkFile ".prettierrc.js" "" color.hexS.blue)
(mkFile ".prettierrc.json5" "" color.hexS.blue)
(mkFile ".prettierrc.json" "" color.hexS.blue)
(mkFile ".prettierrc.mjs" "" color.hexS.blue)
(mkFile ".prettierrc.toml" "" color.hexS.blue)
(mkFile ".prettierrc.yaml" "" color.hexS.blue)
(mkFile ".prettierrc.yml" "" color.hexS.blue)
(mkFile "procfile" "" color.hexS.overlay1)
(mkFile "PrusaSlicerGcodeViewer.ini" "" color.hexS.peach)
(mkFile "PrusaSlicer.ini" "" color.hexS.peach)
(mkFile ".pylintrc" "" color.hexS.overlay1)
(mkFile "py.typed" "" color.hexS.yellow)
(mkFile "QtProject.conf" "" color.hexS.green)
(mkFile "rakefile" "" color.hexS.surface0)
(mkFile "readme" "󰂺" color.hexS.rosewater)
(mkFile "readme.md" "󰂺" color.hexS.rosewater)
(mkFile "rmd" "" color.hexS.sapphire)
(mkFile "robots.txt" "󰚩" color.hexS.overlay0)
(mkFile "security" "󰒃" color.hexS.subtext1)
(mkFile "security.md" "󰒃" color.hexS.subtext1)
(mkFile "settings.gradle" "" color.hexS.surface2)
(mkFile ".settings.json" "" color.hexS.overlay0)
(mkFile ".SRCINFO" "󰣇" color.hexS.blue)
(mkFile "svelte.config.js" "" color.hexS.peach)
(mkFile "sxhkdrc" "" color.hexS.surface0)
(mkFile "sym-lib-table" "" color.hexS.rosewater)
(mkFile "tailwind.config.js" "󱏿" color.hexS.sapphire)
(mkFile "tailwind.config.mjs" "󱏿" color.hexS.sapphire)
(mkFile "tailwind.config.ts" "󱏿" color.hexS.sapphire)
(mkFile "tmux.conf" "" color.hexS.green)
(mkFile "tmux.conf.local" "" color.hexS.green)
(mkFile "tsconfig.json" "" color.hexS.sapphire)
(mkFile "unlicense" "" color.hexS.yellow)
(mkFile "vagrantfile$" "" color.hexS.overlay0)
(mkFile "vercel.json" "" color.hexS.rosewater)
(mkFile ".vimrc" "" color.hexS.green)
(mkFile "_vimrc" "" color.hexS.green)
(mkFile "vlcrc" "󰕼" color.hexS.peach)
(mkFile "webpack" "󰜫" color.hexS.sapphire)
(mkFile "weston.ini" "" color.hexS.yellow)
(mkFile "workspace" "" color.hexS.green)
(mkFile ".Xauthority" "" color.hexS.peach)
(mkFile ".xinitrc" "" color.hexS.peach)
(mkFile "xmobarrc" "" color.hexS.red)
(mkFile "xmobarrc.hs" "" color.hexS.red)
(mkFile "xmonad.hs" "" color.hexS.red)
(mkFile "xorg.conf" "" color.hexS.peach)
(mkFile ".Xresources" "" color.hexS.peach)
(mkFile ".xsession" "" color.hexS.peach)
(mkFile "xsettingsd.conf" "" color.hexS.peach)
(mkFile ".zprofile" "" color.hexS.green)
(mkFile ".zshenv" "" color.hexS.green)
(mkFile ".zshrc" "" color.hexS.green)
# (mkFile "flake.lock" "" color.hexS.sky)
]

View File

@ -3,23 +3,25 @@
nixosConfig,
color,
}: let
mkFiletype = name: fg: {
mkName = fg: name: {
inherit name fg;
};
mkFiletypes = names: fg: names |> mkFiletype fg;
mkMime = fg: mime: {
inherit mime fg;
};
mkMimes = fg: mimes: mimes |> builtins.map (mkMime fg);
in
lib.mkMerge [
builtins.concatLists [
[
(mkFiletype "*" color.hexS.text) # Files default
(mkFiletype "*/" color.hexS.lavender) # Directories default
(mkFiletype "application/*zip" color.hexS.accentHL)
(mkFiletype "application/x-(mkFiletypetarbzip*7z-compressedxzrar)" color.hexS.accentHL)
(mkFiletype "application/pdf" color.hexS.green)
(mkName color.hexS.text "*") # Files default
(mkName color.hexS.lavender "*/") # Directories default
(mkMime color.hexS.green "application/pdf")
]
(mkFiletypes nixosConfig.modules.mime.textTypes color.hexS.text)
(mkFiletypes nixosConfig.modules.mime.imageTypes color.hexS.teal)
(mkFiletypes nixosConfig.modules.mime.videoTypes color.hexS.yellow)
(mkFiletypes nixosConfig.modules.mime.audioTypes color.hexS.sky)
(mkMimes color.hexS.text nixosConfig.modules.mime.textTypes)
(mkMimes color.hexS.teal nixosConfig.modules.mime.imageTypes)
(mkMimes color.hexS.yellow nixosConfig.modules.mime.videoTypes)
(mkMimes color.hexS.sky nixosConfig.modules.mime.audioTypes)
]

View File

@ -174,8 +174,8 @@ with mylib.networking; {
};
documentation = {
enable = true;
# NOTE: Disable this while configuring stuff, it's slow
enable = true;
man.enable = config.documentation.enable;
man.generateCaches = true; # Slow but needed for neovim man picker
info.enable = config.documentation.enable;