From cf3552363409dc603c0046f6747082b663c63678 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Sun, 20 Jul 2025 02:24:24 +0200 Subject: [PATCH] Modules/Yazi: Define specially displayed directories, extensions, files, filetypes --- home/modules/yazi/specialDirectories.nix | 21 ++ home/modules/yazi/specialExtensions.nix | 459 +++++++++++++++++++++++ home/modules/yazi/specialFiles.nix | 182 +++++++++ home/modules/yazi/specialFiletypes.nix | 25 ++ 4 files changed, 687 insertions(+) create mode 100644 home/modules/yazi/specialDirectories.nix create mode 100644 home/modules/yazi/specialExtensions.nix create mode 100644 home/modules/yazi/specialFiles.nix create mode 100644 home/modules/yazi/specialFiletypes.nix diff --git a/home/modules/yazi/specialDirectories.nix b/home/modules/yazi/specialDirectories.nix new file mode 100644 index 00000000..3f651e55 --- /dev/null +++ b/home/modules/yazi/specialDirectories.nix @@ -0,0 +1,21 @@ +{color}: let + mkIcon = name: text: fg: { + inherit name text fg; + }; +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) +] diff --git a/home/modules/yazi/specialExtensions.nix b/home/modules/yazi/specialExtensions.nix new file mode 100644 index 00000000..a221261b --- /dev/null +++ b/home/modules/yazi/specialExtensions.nix @@ -0,0 +1,459 @@ +{color}: let + mkExt = name: text: fg: { + 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) +] diff --git a/home/modules/yazi/specialFiles.nix b/home/modules/yazi/specialFiles.nix new file mode 100644 index 00000000..0311d32e --- /dev/null +++ b/home/modules/yazi/specialFiles.nix @@ -0,0 +1,182 @@ +{color}: let + mkFile = name: icon: fg: { + inherit name icon 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) +] diff --git a/home/modules/yazi/specialFiletypes.nix b/home/modules/yazi/specialFiletypes.nix new file mode 100644 index 00000000..69170a71 --- /dev/null +++ b/home/modules/yazi/specialFiletypes.nix @@ -0,0 +1,25 @@ +{ + lib, + nixosConfig, + color, +}: let + mkFiletype = name: fg: { + inherit name fg; + }; + + mkFiletypes = names: fg: names |> mkFiletype fg; +in + lib.mkMerge [ + [ + (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) + ] + + (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) + ]