Compare commits

..

10 commits

Author SHA1 Message Date
agryphus
ea842efa4d Add: ncd 2026-02-04 12:22:25 -05:00
agryphus
f4dee31d18 Bump yazi config 2026-01-05 08:37:31 -05:00
agryphus
841b805565 Bump nix config 2026-01-05 00:15:47 -05:00
agryphus
6344ccdc8a Add nix derivations to git 2025-03-21 14:49:25 -04:00
agryphus
753be9d0ca Dont modify starship from zsh 2025-03-21 14:47:38 -04:00
agryphus
4478ec1d5c Make starship config static 2025-03-21 14:46:51 -04:00
agryphus
a1e6f80821 More opening options 2025-03-21 14:45:52 -04:00
agryphus
742007eb5f More bar icons 2025-03-21 14:44:21 -04:00
agryphus
0bcc07d035 a little Frutiger Aero 2025-03-13 13:52:19 -04:00
agryphus
d60aa6a4bc Add fzf 2025-02-09 22:20:34 -05:00
44 changed files with 987 additions and 1182 deletions

1
misc/.config/fzf/config Normal file
View file

@ -0,0 +1 @@
--layout=reverse

View file

@ -1,34 +1,40 @@
version = "1.1.15" version = "1.1.15"
[title."(?i)foot"]
Yazi = "󰇥"
[class] [class]
DEFAULT = "{class}" DEFAULT = "{class}"
"(?i)anki" = " " "Anki" = " "
"(?i)blueman-manager-wrapped" = " " "blueman-manager-wrapped" = " "
"(?i)chromium" = " " "chromium" = " "
"(?i)discord" = "󰊴 " "com.obsproject.Studio" = "󰄄 "
"(?i)element" = " " "com.usebottles.bottles" = " "
"(?i)emacs" = " " "discord" = "󰊴 "
"(?i)firefox" = " " "Element" = " "
"(?i)foot" = " " "emacs" = " "
"(?i)ghidra" = " " "firefox" = " "
"(?i)gimp" = " " "foot" = " "
"(?i)kitty" = " " "ghidra" = " "
"(?i)libreoffice-draw" = "󰽉 " "Gimp" = " "
"(?i)libreoffice-writer" = "󰷈 " "kitty" = " "
"(?i)mpv" = " " "libreoffice-calc" = " "
"(?i)mullvad vpn" = " " "libreoffice-draw" = "󰽉 "
"(?i)nsxiv" = " " "libreoffice-impress" = "󰈩 "
"(?i)signal" = "󰭹 " "libreoffice-writer" = "󰷈 "
"(?i)slack" = "󰒱 " "mpv" = " "
"(?i)spotify" = " " "mullvad vpn" = " "
"(?i)st" = " " "Nsxiv" = " "
"(?i)steam" = " " "org.getmonero." = " "
"(?i)virtualbox" = " " "org.kde.kdenlive" = " "
"(?i)zathura" = " " "signal" = "󰭹 "
"(?i)zen" = "󰇧 " "Slack" = "󰒱 "
"spotify" = " "
"st-256color" = " "
"steam" = " "
"teams-for-linux" = "󰊻 "
"VirtualBox" = " "
"vlc" = "󱍼 "
"zathura" = " "
"zen" = "󰇧 "
"zoom" = " "
[class_active] [class_active]
@ -49,15 +55,21 @@ DEFAULT = "{class}"
9 = "nine" 9 = "nine"
10 = "ten" 10 = "ten"
[title_in_class."(?i)foot"] [title_in_class."st-256color"]
"(?i)neovim" = "neovim" "Yazi" = "󰇥 "
"(?i)nvim" = "nvim" "NVIM" = " "
"btop" = "󰻎 "
"htop" = "󰻎 "
[title_in_class."(?i)kitty"] # Sometimes windows do not set a class
"(?i)neomutt" = "neomutt" [title_in_class.""]
"Steam" = " "
[title_in_class_active."(?i)firefox"] [title_in_class."VirtualBox Machine"]
"(?i)twitch" = "<span style='color:purple'>{icon}</span>" "Tiny11" = " "
[title_in_class."steam"]
"Halo: The Master Chief Collection" = " "
[title_in_initial_class] [title_in_initial_class]
@ -82,11 +94,13 @@ aProgram = "^$"
dedup = false dedup = false
dedup_inactive_fullscreen = false dedup_inactive_fullscreen = false
delim = "" delim = ""
workspace = "{id}:{delim}{clients}" workspace = "{id} {clients}"
workspace_empty = "{id}" workspace_empty = "{id}"
client = "<span>{icon}</span>" # client = "<span>{icon}</span>"
client_fullscreen = "[{icon}]" client = "{icon}"
client_active = "<span style='color:#FFFFFF'>{icon}</font>" client_fullscreen = "{icon}"
# client_active = "<span style='color:#FFFFFF'>{icon}</font>"
client_active = "󰀦{icon}"
client_dup = "{icon}{counter_sup}" client_dup = "{icon}{counter_sup}"
client_dup_active = "*{icon}*{delim}{icon}{counter_unfocused_sup}" client_dup_active = "*{icon}*{delim}{icon}{counter_unfocused_sup}"
client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}" client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}"

View file

@ -1,18 +1,54 @@
# Use starship.def.toml to edit the starship configuration. There should be an entr daemon
# running which, upon changes to the file, will replace each instance of blue with
# the appropriate environment variable. This hack was cobbled together because starship currently
# does not allow environment variables to be used as a style (which is dumb)
# Inserts a blank line between shell prompts # Inserts a blank line between shell prompts
add_newline = false add_newline = false
format = '''[\([$username@$hostname](bold blue)\)-\[$directory\](-\[$git_branch$git_metrics$git_status\])(-\[$nix_shell\])](blue) $cmd_duration format = '''${custom.color}\(${custom.bold}$username@$hostname${custom.color}\)-\[$directory${custom.color}(\]-\[$git_branch$git_metrics$git_status)${custom.color}\]( $nix_shell) $cmd_duration
[](blue)[$shell](bold blue) ''' ${custom.color}$shell '''
# format = '''
# [\[$directory\](-\[$git_branch$git_metrics$git_status\])(-\[$nix_shell\])](blue)[λ ](blue bold)
# '''
right_format = '$status' right_format = '$status'
[custom.color]
command = '''
accent="$(cat ~/.config/colors/accent)"
case "$accent" in
black)
code=30
;;
red)
code=31
;;
green)
code=32
;;
yellow)
code=33
;;
blue)
code=34
;;
purple)
code=35
;;
cyan)
code=36
;;
*)
code=0
;;
esac
printf "\\033[0;${code}m"
'''
when = true
format = "$output"
[custom.bold]
command = '''
printf "\\033[1m"
'''
when = true
unsafe_no_escape = true
format = "$output"
[line_break] [line_break]
disabled = false disabled = false
@ -23,7 +59,7 @@ show_always = true
[nix_shell] [nix_shell]
symbol = '❄️' symbol = '❄️'
format = '[$symbol$name](bold purple)' format = '[$symbol $name](bold purple)'
[hostname] [hostname]
ssh_only = false ssh_only = false
@ -32,9 +68,8 @@ trim_at = '.companyname.com'
disabled = false disabled = false
[git_branch] [git_branch]
style = 'bold green'
symbol = '' symbol = ''
format = '[$symbol$branch(hello$banch)](bold green)' format = '[$symbol$branch](bold green)'
[git_status] [git_status]
modified = '[✘](bold red)' modified = '[✘](bold red)'
@ -48,12 +83,6 @@ truncate_to_repo = true
style = 'bold white' style = 'bold white'
format = '[$path]($style)[$read_only]($read_only_style)' format = '[$path]($style)[$read_only]($read_only_style)'
[character]
success_symbol = '[λ](bold blue)'
error_symbol = '[λ](bold red)'
# success_symbol = '[](bold blue)'
# error_symbol = '[](bold red)'
[cmd_duration] [cmd_duration]
min_time = 1_000 min_time = 1_000
style = "bold dimmed yellow" style = "bold dimmed yellow"
@ -66,7 +95,7 @@ bash_indicator = '\$'
zsh_indicator = 'λ' zsh_indicator = 'λ'
unknown_indicator = '?' unknown_indicator = '?'
disabled = false disabled = false
format = '$indicator' format = '[$indicator](bold)'
[status] [status]
disabled = false disabled = false

View file

@ -17,18 +17,19 @@ end, 500, Header.LEFT)
function Header:cwd() function Header:cwd()
local max = self._area.w - self._right_width local max = self._area.w - self._right_width
if max <= 0 then if max <= 0 then
return ui.Span("") return ""
end end
local cwd = ya.readable_path(tostring(self._tab.current.cwd)) .. self:flags() local cwd = ya.readable_path(tostring(self._current.cwd)) .. self:flags()
local left = ui.Line { local hovered = ""
if cx.active.current.hovered then
hovered = tostring(cx.active.current.hovered.name or "")
end
return ui.Line {
ui.Span(cwd):fg("blue"):bold(true), ui.Span(cwd):fg("blue"):bold(true),
ui.Span("/"):fg("blue"):bold(true), ui.Span("/"):fg("blue"):bold(true),
ui.Span(tostring(cx.active.current.hovered.name)):fg("white"): bold(true), ui.Span(hovered):fg("white"):bold(true),
} }
return left
end end
-- Remove file size from status bar -- Remove file size from status bar
@ -36,7 +37,7 @@ function Status:size()
end end
-- Remove percentage from status bar -- Remove percentage from status bar
function Status:percentage() function Status:percent()
end end
-- Show symlink path in status bar -- Show symlink path in status bar

View file

@ -1,31 +1,37 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. [mgr]
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
[manager]
prepend_keymap = [ prepend_keymap = [
# Smart enter # Jump
{ on = [ "o" ], run = [ "plugin smart-enter --sync --args='list'", "escape --visual --select" ], desc = "List openers for file." }, { on = [ "i" ], run = [ "plugin easyjump" ], desc = "easyjump" },
{ on = [ "l" ], run = [ "plugin smart-enter --sync", "escape --visual --select" ], desc = "Enter the child directory, or open file." }, { on = [ "f" ], run = [ "plugin jump-to-char" ], desc = "Jump to char" },
{ on = [ "L" ], run = [ "plugin smart-enter --sync --args='detatch'", "escape --visual --select" ], desc = "Open in new window." },
{ on = [ "1" ], run = [ "shell 'opener -n 1 $0' --block --confirm"], desc = "Open with program 1." }, # Smart enter
{ on = [ "2" ], run = [ "shell 'opener -n 2 $0' --block --confirm"], desc = "Open with program 2." }, { on = [ "o" ], run = [ "plugin smart-enter --sync -- list", "escape --visual --select" ], desc = "List openers for file." },
{ on = [ "3" ], run = [ "shell 'opener -n 3 $0' --block --confirm"], desc = "Open with program 3." }, { on = [ "l" ], run = [ "plugin smart-enter --sync", "escape --visual --select" ], desc = "Enter the child directory, or open file." },
{ on = [ "!" ], run = [ "shell 'opener -n 1 detatch $0' --block --confirm"], desc = "Open in new window with program 1." }, { on = [ "L" ], run = [ "plugin smart-enter --sync -- detatch", "escape --visual --select" ], desc = "Open in new window." },
{ on = [ "@" ], run = [ "shell 'opener -n 2 detatch $0' --block --confirm"], desc = "Open in new window with program 2." },
{ on = [ "#" ], run = [ "shell 'opener -n 3 detatch $0' --block --confirm"], desc = "Open in new window with program 3." }, # Archives
{ on = [ "u" ], run = [ "shell 'punpack \"$0\"' --confirm"], desc = "Open archive" },
# Openers
{ on = [ "1" ], run = [ "shell 'opener -n 1 \"$0\"' --block --confirm"], desc = "Open with program 1." },
{ on = [ "2" ], run = [ "shell 'opener -n 2 \"$0\"' --block --confirm"], desc = "Open with program 2." },
{ on = [ "3" ], run = [ "shell 'opener -n 3 \"$0\"' --block --confirm"], desc = "Open with program 3." },
{ on = [ "4" ], run = [ "shell 'opener -n 4 \"$0\"' --block --confirm"], desc = "Open with program 4." },
{ on = [ "5" ], run = [ "shell 'opener -n 5 \"$0\"' --block --confirm"], desc = "Open with program 5." },
{ on = [ "!" ], run = [ "shell 'opener -n 1 detatch \"$0\"' --block --confirm"], desc = "Open in new window with program 1." },
{ on = [ "@" ], run = [ "shell 'opener -n 2 detatch \"$0\"' --block --confirm"], desc = "Open in new window with program 2." },
{ on = [ "#" ], run = [ "shell 'opener -n 3 detatch \"$0\"' --block --confirm"], desc = "Open in new window with program 3." },
{ on = [ "$" ], run = [ "shell 'opener -n 4 detatch \"$0\"' --block --confirm"], desc = "Open in new window with program 4." },
{ on = [ "%" ], run = [ "shell 'opener -n 5 detatch \"$0\"' --block --confirm"], desc = "Open in new window with program 5." },
{ on = [ "<C-n>" ], run = 'shell -- xdragon -x -T "$1"', desc = "Open file with dragon"},
{ on = [ "<C-t>" ], run = "shell 'swallow thunar' --block --confirm", desc = "Open thunar"},
{ on = [ "j" ], run = [ "plugin --sync arrow --args=1"], desc = "Move selection downwards, or wrap." },
{ on = [ "k" ], run = [ "plugin --sync arrow --args=-1"], desc = "Move selection upwards, or wrap." },
{ on = [ "T" ], run = "plugin --sync max-preview", desc = "Maximize preview pane"},
{ on = [ "n" ], run = "create", desc = "Create a file or directory (ends with / for directories)" },
{ on = [ "<C-n>"], run = '''
shell 'dragon -x -i -T "$1"' --confirm
''', desc = "Open file with dragon"},
{ on = [ "=" ], run = """ { on = [ "=" ], run = """
shell 'printf "Mode Bits: "; read ans; chmod $ans "$@"' --block --confirm shell 'printf "Mode Bits: "; read ans; chmod $ans "$@"' --block --confirm
""", desc = "chmod" }, """, desc = "chmod" },
{ on = [ "<A-Enter>" ], run = """ { on = [ "<A-Enter>" ], run = """
shell '$TERMINAL -e $SHELL -c -i \"cd $PWD && ya && exec $SHELL\"' --orphan --confirm shell '$TERMINAL -e $SHELL -c -i \"cd $PWD && ya && exec $SHELL\"' --orphan --confirm
""", desc = "Spawn new yazi window in CWD" }, """, desc = "Spawn new yazi window in CWD" },

View file

@ -1,10 +0,0 @@
---@diagnostic disable: undefined-global
return {
entry = function(_, args)
local current = cx.active.current
local new = (current.cursor + args[1]) % #current.files
ya.manager_emit("arrow", { new - current.cursor })
end,
}

@ -0,0 +1 @@
Subproject commit 6606fb1d56eea4c99809c056fd701e58890655be

View file

@ -0,0 +1,31 @@
local AVAILABLE_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789."
local changed = ya.sync(function(st, new)
local b = st.last ~= new
st.last = new
return b or not cx.active.finder
end)
local escape = function(s) return s == "." and "\\." or s end
return {
entry = function()
local cands = {}
for i = 1, #AVAILABLE_CHARS do
cands[#cands + 1] = { on = AVAILABLE_CHARS:sub(i, i) }
end
local idx = ya.which { cands = cands, silent = true }
if not idx then
return
end
local kw = escape(cands[idx].on)
if changed(kw) then
ya.mgr_emit("find_do", { "^" .. kw })
else
ya.mgr_emit("find_arrow", {})
end
end,
}

View file

@ -1,31 +0,0 @@
---@diagnostic disable: undefined-global
return {
entry = function(self, args)
local h = cx.active.current.hovered
if h and h.cha.is_dir then
ya.manager_emit("enter", {})
return
end
if #args == 0 then
ya.manager_emit("open", {})
end
if args[1] == "detatch" then
os.execute(string.format("opener detatch \"%s\"", h.url))
elseif args[1] == "list" then
local f = assert(io.popen(string.format(
"opener list \"%s\"", h.url), 'r'))
local out = assert(f:read('*a'))
f:close()
ya.notify {
title = string.format("Openers for %s:", h.name),
content = out,
timeout = 6.5,
level = "info",
}
end
end,
}

View file

@ -0,0 +1,35 @@
--- @since 25.2.26
--- @sync entry
local function setup(self, opts) self.open_multi = opts.open_multi end
local function entry(_, job)
local h = cx.active.current.hovered
if h and h.cha.is_dir then
ya.manager_emit("enter", {})
return
end
if #job.args == 0 then
ya.manager_emit("open", {})
end
if job.args[1] == "detatch" then
os.execute(string.format("opener detatch \"%s\"", h.url))
elseif job.args[1] == "list" then
local f = assert(io.popen(string.format(
"opener list \"%s\"", h.url), 'r'))
local out = assert(f:read('*a'))
f:close()
ya.notify {
title = string.format("Openers for %s:", h.name),
content = out,
timeout = 6.5,
level = "info",
}
end
end
return { entry = entry, setup = setup }

View file

@ -1,66 +1,6 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/theme.json"
# vim:fileencoding=utf-8:foldmethod=marker
# : Flavor {{{
[flavor]
use = ""
# : }}}
# : Manager {{{
[manager]
cwd = { fg = "cyan" }
# Hovered
hovered = { reversed = true }
preview_hovered = { underline = true }
# Find
find_keyword = { fg = "yellow", bold = true, italic = true, underline = true }
find_position = { fg = "magenta", bg = "reset", bold = true, italic = true }
# Marker
marker_copied = { fg = "lightgreen", bg = "lightgreen" }
marker_cut = { fg = "lightred", bg = "lightred" }
marker_marked = { fg = "lightcyan", bg = "lightcyan" }
marker_selected = { fg = "lightyellow", bg = "lightyellow" }
# Tab
tab_active = { reversed = true }
tab_inactive = {}
tab_width = 1
# Count
count_copied = { fg = "white", bg = "green" }
count_cut = { fg = "white", bg = "red" }
count_selected = { fg = "white", bg = "yellow" }
# Border
border_symbol = "│"
border_style = { fg = "gray" }
# Highlighting
syntect_theme = ""
# : }}}
# : Status {{{
[status] [status]
separator_open = "" sep_left = { open = "", close = "" }
separator_close = "" sep_right = { open = "", close = "" }
separator_style = { fg = "darkgray", bg = "darkgray" }
# Mode
mode_normal = { fg = "black", bg = "lightblue", bold = false }
mode_select = { fg = "black", bg = "lightgreen", bold = false }
mode_unset = { fg = "black", bg = "lightmagenta", bold = false }
# Progress # Progress
progress_label = { bold = false } progress_label = { bold = false }
@ -68,103 +8,15 @@ progress_normal = { fg = "lightblue", bg = "black" }
progress_error = { fg = "red", bg = "black" } progress_error = { fg = "red", bg = "black" }
# Permissions # Permissions
permissions_t = { fg = "lightgreen" } perm_type = { fg = "lightgreen" }
permissions_r = { fg = "lightyellow" } perm_read = { fg = "lightyellow" }
permissions_w = { fg = "lightred" } perm_write = { fg = "lightred" }
permissions_x = { fg = "lightcyan" } perm_exec = { fg = "lightcyan" }
permissions_s = { fg = "darkgray" }
# : }}} [mode]
normal_main = { fg = "black", bg = "lightblue", bold = false }
select_main = { fg = "black", bg = "lightgreen", bold = false }
# : Select {{{ unset_main = { fg = "black", bg = "lightmagenta", bold = false }
[select]
border = { fg = "blue" }
active = { fg = "magenta", bold = true }
inactive = {}
# : }}}
# : Input {{{
[input]
border = { fg = "blue" }
title = {}
value = {}
selected = { reversed = true }
# : }}}
# : Completion {{{
[completion]
border = { fg = "blue" }
active = { reversed = true }
inactive = {}
# Icons
icon_file = ""
icon_folder = ""
icon_command = ""
# : }}}
# : Tasks {{{
[tasks]
border = { fg = "blue" }
title = {}
hovered = { fg = "magenta", underline = true }
# : }}}
# : Which {{{
[which]
cols = 3
mask = { bg = "black" }
cand = { fg = "lightcyan" }
rest = { fg = "darkgray" }
desc = { fg = "lightmagenta" }
separator = "  "
separator_style = { fg = "darkgray" }
# : }}}
# : Help {{{
[help]
on = { fg = "cyan" }
run = { fg = "magenta" }
desc = {}
hovered = { reversed = true, bold = true }
footer = { fg = "black", bg = "white" }
# : }}}
# : Notify {{{
[notify]
title_info = { fg = "green" }
title_warn = { fg = "yellow" }
title_error = { fg = "red" }
# Icons
icon_info = ""
icon_warn = ""
icon_error = ""
# : }}}
# : File-specific styles {{{
[filetype] [filetype]
@ -198,576 +50,24 @@ rules = [
[icon] [icon]
globs = []
dirs = [ dirs = [
# { name = ".config", text = "" },
# { name = ".git", text = "" },
]
files = [
{ name = ".babelrc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = ".bash_profile", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = ".bashrc", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = ".dockerignore", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = ".ds_store", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
{ name = ".editorconfig", text = "", fg_dark = "#fff2f2", fg_light = "#333030" },
{ name = ".env", text = "", fg_dark = "#faf743", fg_light = "#32310d" },
{ name = ".eslintignore", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" },
{ name = ".eslintrc", text = "", fg_dark = "#4b32c3", fg_light = "#4b32c3" },
{ name = ".gitattributes", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
{ name = ".gitconfig", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
{ name = ".gitignore", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
{ name = ".gitlab-ci.yml", text = "", fg_dark = "#e24329", fg_light = "#aa321f" },
{ name = ".gitmodules", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
{ name = ".gtkrc-2.0", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = ".gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
{ name = ".luaurc", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" },
{ name = ".mailmap", text = "󰊢", fg_dark = "#41535b", fg_light = "#41535b" },
{ name = ".npmignore", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
{ name = ".npmrc", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
{ name = ".prettierrc", text = "", fg_dark = "#4285f4", fg_light = "#3264b7" },
{ name = ".settings.json", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
{ name = ".SRCINFO", text = "󰣇", fg_dark = "#0f94d2", fg_light = "#0b6f9e" },
{ name = ".vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
{ name = ".Xauthority", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
{ name = ".xinitrc", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
{ name = ".Xresources", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
{ name = ".xsession", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
{ name = ".zprofile", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = ".zshenv", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = ".zshrc", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "_gvimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
{ name = "_vimrc", text = "", fg_dark = "#019833", fg_light = "#017226" },
{ name = "avif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "brewfile", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "bspwmrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" },
{ name = "build", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "build.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
{ name = "build.zig.zon", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" },
{ name = "cantorrc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" },
{ name = "checkhealth", text = "󰓙", fg_dark = "#75b4fb", fg_light = "#3a5a7e" },
{ name = "cmakelists.txt", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "commit_editmsg", text = "", fg_dark = "#f54d27", fg_light = "#b83a1d" },
{ name = "compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "config", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "containerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "copying", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "copying.lesser", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "docker-compose.yaml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "docker-compose.yml", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "ext_typoscript_setup.txt", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" },
{ name = "favicon.ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "fp-info-cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "fp-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "FreeCAD.conf", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "gemfile$", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "gradle-wrapper.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
{ name = "gradle.properties", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
{ name = "gradlew", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
{ name = "groovy", text = "", fg_dark = "#4a687c", fg_light = "#384e5d" },
{ name = "gruntfile.babel.js", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "gruntfile.coffee", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "gruntfile.js", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "gruntfile.ts", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "gtkrc", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "gulpfile.babel.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "gulpfile.coffee", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "gulpfile.js", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "gulpfile.ts", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "hyprland.conf", text = "", fg_dark = "#00aaae", fg_light = "#008082" },
{ name = "i3blocks.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" },
{ name = "i3status.conf", text = "", fg_dark = "#e8ebee", fg_light = "#2e2f30" },
{ name = "kalgebrarc", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" },
{ name = "kdeglobals", text = "", fg_dark = "#1c99f3", fg_light = "#1573b6" },
{ name = "kdenlive-layoutsrc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
{ name = "kdenliverc", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
{ name = "kritadisplayrc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
{ name = "kritarc", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
{ name = "license", text = "", fg_dark = "#d0bf41", fg_light = "#686020" },
{ name = "lxde-rc.xml", text = "", fg_dark = "#909090", fg_light = "#606060" },
{ name = "lxqt.conf", text = "", fg_dark = "#0192d3", fg_light = "#016e9e" },
{ name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "mix.lock", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "mpv.conf", text = "", fg_dark = "#3b1342", fg_light = "#3b1342" },
{ name = "node_modules", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
{ name = "package-lock.json", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" },
{ name = "package.json", text = "", fg_dark = "#e8274b", fg_light = "#ae1d38" },
{ name = "PKGBUILD", text = "", fg_dark = "#0f94d2", fg_light = "#0b6f9e" },
{ name = "platformio.ini", text = "", fg_dark = "#f6822b", fg_light = "#a4571d" },
{ name = "pom.xml", text = "", fg_dark = "#7a0d21", fg_light = "#7a0d21" },
{ name = "procfile", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "PrusaSlicer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" },
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg_dark = "#ec6b23", fg_light = "#9d4717" },
{ name = "py.typed", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" },
{ name = "QtProject.conf", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
{ name = "R", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" },
{ name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" },
{ name = "rakefile", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "settings.gradle", text = "", fg_dark = "#005f87", fg_light = "#005f87" },
{ name = "svelte.config.js", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" },
{ name = "sxhkdrc", text = "", fg_dark = "#2f2f2f", fg_light = "#2f2f2f" },
{ name = "sym-lib-table", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "tailwind.config.js", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" },
{ name = "tailwind.config.mjs", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" },
{ name = "tailwind.config.ts", text = "󱏿", fg_dark = "#20c2e3", fg_light = "#158197" },
{ name = "tmux.conf", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" },
{ name = "tmux.conf.local", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" },
{ name = "tsconfig.json", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "unlicense", text = "", fg_dark = "#d0bf41", fg_light = "#686020" },
{ name = "vagrantfile$", text = "", fg_dark = "#1563ff", fg_light = "#104abf" },
{ name = "vlcrc", text = "󰕼", fg_dark = "#ee7a00", fg_light = "#9f5100" },
{ name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "weston.ini", text = "", fg_dark = "#ffbb01", fg_light = "#805e00" },
{ name = "workspace", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "xmobarrc", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" },
{ name = "xmobarrc.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" },
{ name = "xmonad.hs", text = "", fg_dark = "#fd4d5d", fg_light = "#a9333e" },
{ name = "xorg.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
{ name = "xsettingsd.conf", text = "", fg_dark = "#e54d18", fg_light = "#ac3a12" },
]
exts = [
{ name = "3gp", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "3mf", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "7z", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "a", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" },
{ name = "aac", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "ai", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "aif", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "aiff", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "android", text = "", fg_dark = "#34a853", fg_light = "#277e3e" },
{ name = "ape", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "apk", text = "", fg_dark = "#34a853", fg_light = "#277e3e" },
{ name = "app", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
{ name = "applescript", text = "", fg_dark = "#6d8085", fg_light = "#526064" },
{ name = "asc", text = "󰦝", fg_dark = "#576d7f", fg_light = "#41525f" },
{ name = "ass", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" },
{ name = "astro", text = "", fg_dark = "#e23f67", fg_light = "#aa2f4d" },
{ name = "awk", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
{ name = "azcli", text = "", fg_dark = "#0078d4", fg_light = "#005a9f" },
{ name = "bak", text = "󰁯", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "bash", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "bat", text = "", fg_dark = "#c1f12e", fg_light = "#40500f" },
{ name = "bazel", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "bib", text = "󱉟", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "bicep", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "bicepparam", text = "", fg_dark = "#9f74b3", fg_light = "#6a4d77" },
{ name = "bin", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
{ name = "blade.php", text = "", fg_dark = "#f05340", fg_light = "#a0372b" },
{ name = "blend", text = "󰂫", fg_dark = "#ea7600", fg_light = "#9c4f00" },
{ name = "blp", text = "󰺾", fg_dark = "#5796e2", fg_light = "#3a6497" },
{ name = "bmp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "brep", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "bz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "bz2", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "bz3", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "bzl", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "c", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" },
{ name = "c++", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" },
{ name = "cache", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "cast", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "cbl", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
{ name = "cc", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" },
{ name = "ccm", text = "", fg_dark = "#f34b7d", fg_light = "#a23253" },
{ name = "cfg", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "cjs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "clj", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
{ name = "cljc", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
{ name = "cljd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cljs", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cmake", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "cob", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
{ name = "cobol", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
{ name = "coffee", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "conf", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "config.ru", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "cp", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cppm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cpy", text = "⚙", fg_dark = "#005ca5", fg_light = "#005ca5" },
{ name = "cr", text = "", fg_dark = "#c8c8c8", fg_light = "#434343" },
{ name = "crdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
{ name = "cs", text = "󰌛", fg_dark = "#596706", fg_light = "#434d04" },
{ name = "csh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
{ name = "cshtml", text = "󱦗", fg_dark = "#512bd4", fg_light = "#512bd4" },
{ name = "cson", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "csproj", text = "󰪮", fg_dark = "#512bd4", fg_light = "#512bd4" },
{ name = "css", text = "", fg_dark = "#42a5f5", fg_light = "#2c6ea3" },
{ name = "csv", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "cts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cu", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "cue", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" },
{ name = "cuh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "cxx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "cxxm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "d", text = "", fg_dark = "#427819", fg_light = "#325a13" },
{ name = "d.ts", text = "", fg_dark = "#d59855", fg_light = "#6a4c2a" },
{ name = "dart", text = "", fg_dark = "#03589c", fg_light = "#03589c" },
{ name = "db", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
{ name = "dconf", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "desktop", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" },
{ name = "diff", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
{ name = "dll", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" },
{ name = "doc", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" },
{ name = "Dockerfile", text = "󰡨", fg_dark = "#458ee6", fg_light = "#2e5f99" },
{ name = "docx", text = "󰈬", fg_dark = "#185abd", fg_light = "#185abd" },
{ name = "dot", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" },
{ name = "download", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
{ name = "drl", text = "", fg_dark = "#ffafaf", fg_light = "#553a3a" },
{ name = "dropbox", text = "", fg_dark = "#0061fe", fg_light = "#0049be" },
{ name = "dump", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
{ name = "dwg", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "dxf", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "ebook", text = "", fg_dark = "#eab16d", fg_light = "#755836" },
{ name = "edn", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "eex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "ejs", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "el", text = "", fg_dark = "#8172be", fg_light = "#61568e" },
{ name = "elc", text = "", fg_dark = "#8172be", fg_light = "#61568e" },
{ name = "elf", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
{ name = "elm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "eln", text = "", fg_dark = "#8172be", fg_light = "#61568e" },
{ name = "env", text = "", fg_dark = "#faf743", fg_light = "#32310d" },
{ name = "eot", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "epp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" },
{ name = "epub", text = "", fg_dark = "#eab16d", fg_light = "#755836" },
{ name = "erb", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "erl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" },
{ name = "ex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "exe", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
{ name = "exs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "f#", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "f3d", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "f90", text = "󱈚", fg_dark = "#734f96", fg_light = "#563b70" },
{ name = "fbx", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "fcbak", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fcmacro", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fcmat", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fcparam", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fcscript", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fcstd", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fcstd1", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fctb", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fctl", text = "", fg_dark = "#cb0d0d", fg_light = "#cb0d0d" },
{ name = "fdmdownload", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
{ name = "fish", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
{ name = "flac", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
{ name = "flc", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "flf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "fnl", text = "", fg_dark = "#fff3d7", fg_light = "#33312b" },
{ name = "fs", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "fsi", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "fsscript", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "fsx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "gcode", text = "󰐫", fg_dark = "#1471ad", fg_light = "#0f5582" },
{ name = "gd", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "gemspec", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "gif", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "git", text = "", fg_dark = "#f14c28", fg_light = "#b5391e" },
{ name = "glb", text = "", fg_dark = "#ffb13b", fg_light = "#80581e" },
{ name = "gnumakefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "go", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "godot", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "gql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" },
{ name = "graphql", text = "", fg_dark = "#e535ab", fg_light = "#ac2880" },
{ name = "gresource", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "gv", text = "󱁉", fg_dark = "#30638e", fg_light = "#244a6a" },
{ name = "gz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "h", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "haml", text = "", fg_dark = "#eaeae1", fg_light = "#2f2f2d" },
{ name = "hbs", text = "", fg_dark = "#f0772b", fg_light = "#a04f1d" },
{ name = "heex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "hex", text = "", fg_dark = "#2e63ff", fg_light = "#224abf" },
{ name = "hh", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "hpp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "hrl", text = "", fg_dark = "#b83998", fg_light = "#8a2b72" },
{ name = "hs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "htm", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" },
{ name = "html", text = "", fg_dark = "#e44d26", fg_light = "#ab3a1c" },
{ name = "huff", text = "󰡘", fg_dark = "#4242c7", fg_light = "#4242c7" },
{ name = "hurl", text = "", fg_dark = "#ff0288", fg_light = "#bf0266" },
{ name = "hx", text = "", fg_dark = "#ea8220", fg_light = "#9c5715" },
{ name = "hxx", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "ical", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
{ name = "icalendar", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
{ name = "ico", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "ics", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
{ name = "ifb", text = "", fg_dark = "#2b2e83", fg_light = "#2b2e83" },
{ name = "ifc", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "ige", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "iges", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "igs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "image", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" },
{ name = "img", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" },
{ name = "import", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "info", text = "", fg_dark = "#ffffcd", fg_light = "#333329" },
{ name = "ini", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "ino", text = "", fg_dark = "#56b6c2", fg_light = "#397981" },
{ name = "ipynb", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" },
{ name = "iso", text = "", fg_dark = "#d0bec8", fg_light = "#453f43" },
{ name = "ixx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "java", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "jl", text = "", fg_dark = "#a270ba", fg_light = "#6c4b7c" },
{ name = "jpeg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "jpg", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "json", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "json5", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "jsonc", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
{ name = "jwmrc", text = "", fg_dark = "#0078cd", fg_light = "#005a9a" },
{ name = "jxl", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "kbx", text = "󰯄", fg_dark = "#737672", fg_light = "#565856" },
{ name = "kdb", text = "", fg_dark = "#529b34", fg_light = "#3e7427" },
{ name = "kdbx", text = "", fg_dark = "#529b34", fg_light = "#3e7427" },
{ name = "kdenlive", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
{ name = "kdenlivetitle", text = "", fg_dark = "#83b8f2", fg_light = "#425c79" },
{ name = "kicad_dru", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_mod", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_pcb", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_prl", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_pro", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_sch", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_sym", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "kicad_wks", text = "", fg_dark = "#ffffff", fg_light = "#333333" },
{ name = "ko", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" },
{ name = "kpp", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
{ name = "kra", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
{ name = "krz", text = "", fg_dark = "#f245fb", fg_light = "#a12ea7" },
{ name = "ksh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
{ name = "kt", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" },
{ name = "kts", text = "", fg_dark = "#7f52ff", fg_light = "#5f3ebf" },
{ name = "lck", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" },
{ name = "leex", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "less", text = "", fg_dark = "#563d7c", fg_light = "#563d7c" },
{ name = "lff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "lhs", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "lib", text = "", fg_dark = "#4d2c0b", fg_light = "#4d2c0b" },
{ name = "license", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "liquid", text = "", fg_dark = "#95bf47", fg_light = "#4a6024" },
{ name = "lock", text = "", fg_dark = "#bbbbbb", fg_light = "#5e5e5e" },
{ name = "log", text = "󰌱", fg_dark = "#dddddd", fg_light = "#4a4a4a" },
{ name = "lrc", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" },
{ name = "lua", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" },
{ name = "luac", text = "", fg_dark = "#51a0cf", fg_light = "#366b8a" },
{ name = "luau", text = "", fg_dark = "#00a2ff", fg_light = "#007abf" },
{ name = "m", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" },
{ name = "m3u", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" },
{ name = "m3u8", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" },
{ name = "m4a", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "m4v", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "magnet", text = "", fg_dark = "#a51b16", fg_light = "#a51b16" },
{ name = "makefile", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "markdown", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" },
{ name = "material", text = "󰔉", fg_dark = "#b83998", fg_light = "#8a2b72" },
{ name = "md", text = "", fg_dark = "#dddddd", fg_light = "#4a4a4a" },
{ name = "md5", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" },
{ name = "mdx", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "mint", text = "󰌪", fg_dark = "#87c095", fg_light = "#44604a" },
{ name = "mjs", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" },
{ name = "mk", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "mkv", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "ml", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "mli", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "mm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "mo", text = "∞", fg_dark = "#9772fb", fg_light = "#654ca7" },
{ name = "mobi", text = "", fg_dark = "#eab16d", fg_light = "#755836" },
{ name = "mov", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "mp3", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "mp4", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "mpp", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "msf", text = "", fg_dark = "#137be1", fg_light = "#0e5ca9" },
{ name = "mts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "mustache", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "nfo", text = "", fg_dark = "#ffffcd", fg_light = "#333329" },
{ name = "nim", text = "", fg_dark = "#f3d400", fg_light = "#514700" },
{ name = "nix", text = "", fg_dark = "#7ebae4", fg_light = "#3f5d72" },
{ name = "nswag", text = "", fg_dark = "#85ea2d", fg_light = "#427516" },
{ name = "nu", text = ">", fg_dark = "#3aa675", fg_light = "#276f4e" },
{ name = "o", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
{ name = "obj", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "ogg", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
{ name = "opus", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
{ name = "org", text = "", fg_dark = "#77aa99", fg_light = "#4f7166" },
{ name = "otf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "out", text = "", fg_dark = "#9f0500", fg_light = "#9f0500" },
{ name = "part", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
{ name = "patch", text = "", fg_dark = "#41535b", fg_light = "#41535b" },
{ name = "pck", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "pcm", text = "", fg_dark = "#0075aa", fg_light = "#005880" },
{ name = "pdf", text = "", fg_dark = "#b30b00", fg_light = "#b30b00" },
{ name = "php", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "pl", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "pls", text = "󰲹", fg_dark = "#ed95ae", fg_light = "#764a57" },
{ name = "ply", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "pm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "png", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "po", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
{ name = "pot", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
{ name = "pp", text = "", fg_dark = "#ffa61a", fg_light = "#80530d" },
{ name = "ppt", text = "󰈧", fg_dark = "#cb4a32", fg_light = "#983826" },
{ name = "prisma", text = "", fg_dark = "#5a67d8", fg_light = "#444da2" },
{ name = "pro", text = "", fg_dark = "#e4b854", fg_light = "#725c2a" },
{ name = "ps1", text = "󰨊", fg_dark = "#4273ca", fg_light = "#325698" },
{ name = "psb", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "psd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "psd1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" },
{ name = "psm1", text = "󰨊", fg_dark = "#6975c4", fg_light = "#4f5893" },
{ name = "pub", text = "󰷖", fg_dark = "#e3c58e", fg_light = "#4c422f" },
{ name = "pxd", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" },
{ name = "pxi", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" },
{ name = "py", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" },
{ name = "pyc", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" },
{ name = "pyd", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" },
{ name = "pyi", text = "", fg_dark = "#ffbc03", fg_light = "#805e02" },
{ name = "pyo", text = "", fg_dark = "#ffe291", fg_light = "#332d1d" },
{ name = "pyx", text = "", fg_dark = "#5aa7e4", fg_light = "#3c6f98" },
{ name = "qm", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
{ name = "qml", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
{ name = "qrc", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
{ name = "qss", text = "", fg_dark = "#40cd52", fg_light = "#2b8937" },
{ name = "query", text = "", fg_dark = "#90a850", fg_light = "#607035" },
{ name = "r", text = "󰟔", fg_dark = "#2266ba", fg_light = "#1a4c8c" },
{ name = "rake", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "rar", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "razor", text = "󱦘", fg_dark = "#512bd4", fg_light = "#512bd4" },
{ name = "rb", text = "", fg_dark = "#701516", fg_light = "#701516" },
{ name = "res", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "resi", text = "", fg_dark = "#f55385", fg_light = "#a33759" },
{ name = "rlib", text = "", fg_dark = "#dea584", fg_light = "#6f5242" },
{ name = "rmd", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "rproj", text = "󰗆", fg_dark = "#358a5b", fg_light = "#286844" },
{ name = "rs", text = "", fg_dark = "#dea584", fg_light = "#6f5242" },
{ name = "rss", text = "", fg_dark = "#fb9d3b", fg_light = "#7e4e1e" },
{ name = "sass", text = "", fg_dark = "#f55385", fg_light = "#a33759" },
{ name = "sbt", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "sc", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "scad", text = "", fg_dark = "#f9d72c", fg_light = "#53480f" },
{ name = "scala", text = "", fg_dark = "#cc3e44", fg_light = "#992e33" },
{ name = "scm", text = "󰘧", fg_dark = "#eeeeee", fg_light = "#303030" },
{ name = "scss", text = "", fg_dark = "#f55385", fg_light = "#a33759" },
{ name = "sh", text = "", fg_dark = "#4d5a5e", fg_light = "#3a4446" },
{ name = "sha1", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" },
{ name = "sha224", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" },
{ name = "sha256", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" },
{ name = "sha384", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" },
{ name = "sha512", text = "󰕥", fg_dark = "#8c86af", fg_light = "#5d5975" },
{ name = "sig", text = "λ", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "signature", text = "λ", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "skp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "sldasm", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "sldprt", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "slim", text = "", fg_dark = "#e34c26", fg_light = "#aa391c" },
{ name = "sln", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
{ name = "slvs", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "sml", text = "λ", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "so", text = "", fg_dark = "#dcddd6", fg_light = "#494a47" },
{ name = "sol", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "spec.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "spec.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
{ name = "spec.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "spec.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" },
{ name = "sql", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
{ name = "sqlite", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
{ name = "sqlite3", text = "", fg_dark = "#dad8d8", fg_light = "#494848" },
{ name = "srt", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" },
{ name = "ssa", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" },
{ name = "ste", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "step", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "stl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "stp", text = "󰻫", fg_dark = "#839463", fg_light = "#576342" },
{ name = "strings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
{ name = "styl", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
{ name = "sub", text = "󰨖", fg_dark = "#ffb713", fg_light = "#805c0a" },
{ name = "sublime", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "suo", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
{ name = "sv", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" },
{ name = "svelte", text = "", fg_dark = "#ff3e00", fg_light = "#bf2e00" },
{ name = "svg", text = "󰜡", fg_dark = "#ffb13b", fg_light = "#80581e" },
{ name = "svh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" },
{ name = "swift", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "t", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "tbc", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" },
{ name = "tcl", text = "󰛓", fg_dark = "#1e5cb3", fg_light = "#1e5cb3" },
{ name = "templ", text = "", fg_dark = "#dbbd30", fg_light = "#6e5e18" },
{ name = "terminal", text = "", fg_dark = "#31b53e", fg_light = "#217929" },
{ name = "test.js", text = "", fg_dark = "#cbcb41", fg_light = "#666620" },
{ name = "test.jsx", text = "", fg_dark = "#20c2e3", fg_light = "#158197" },
{ name = "test.ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "test.tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" },
{ name = "tex", text = "", fg_dark = "#3d6117", fg_light = "#3d6117" },
{ name = "tf", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" },
{ name = "tfvars", text = "", fg_dark = "#5f43e9", fg_light = "#4732af" },
{ name = "tgz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "tmux", text = "", fg_dark = "#14ba19", fg_light = "#0f8c13" },
{ name = "toml", text = "", fg_dark = "#9c4221", fg_light = "#753219" },
{ name = "torrent", text = "", fg_dark = "#44cda8", fg_light = "#226654" },
{ name = "tres", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "ts", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "tscn", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "tsconfig", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" },
{ name = "tsx", text = "", fg_dark = "#1354bf", fg_light = "#1354bf" },
{ name = "ttf", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "twig", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
{ name = "txt", text = "󰈙", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "txz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "typoscript", text = "", fg_dark = "#ff8700", fg_light = "#aa5a00" },
{ name = "ui", text = "", fg_dark = "#0c306e", fg_light = "#0c306e" },
{ name = "v", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" },
{ name = "vala", text = "", fg_dark = "#7239b3", fg_light = "#562b86" },
{ name = "vh", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" },
{ name = "vhd", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" },
{ name = "vhdl", text = "󰍛", fg_dark = "#019833", fg_light = "#017226" },
{ name = "vim", text = "", fg_dark = "#019833", fg_light = "#017226" },
{ name = "vsh", text = "", fg_dark = "#5d87bf", fg_light = "#3e5a7f" },
{ name = "vsix", text = "", fg_dark = "#854cc7", fg_light = "#643995" },
{ name = "vue", text = "", fg_dark = "#8dc149", fg_light = "#466024" },
{ name = "wasm", text = "", fg_dark = "#5c4cdb", fg_light = "#4539a4" },
{ name = "wav", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "webm", text = "", fg_dark = "#fd971f", fg_light = "#7e4c10" },
{ name = "webmanifest", text = "", fg_dark = "#f1e05a", fg_light = "#504b1e" },
{ name = "webp", text = "", fg_dark = "#a074c4", fg_light = "#6b4d83" },
{ name = "webpack", text = "󰜫", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "wma", text = "", fg_dark = "#00afff", fg_light = "#0075aa" },
{ name = "woff", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "woff2", text = "", fg_dark = "#ececec", fg_light = "#2f2f2f" },
{ name = "wrl", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "wrz", text = "󰆧", fg_dark = "#888888", fg_light = "#5b5b5b" },
{ name = "x", text = "", fg_dark = "#599eff", fg_light = "#3b69aa" },
{ name = "xaml", text = "󰙳", fg_dark = "#512bd4", fg_light = "#512bd4" },
{ name = "xcf", text = "", fg_dark = "#635b46", fg_light = "#4a4434" },
{ name = "xcplayground", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "xcstrings", text = "", fg_dark = "#2596be", fg_light = "#1c708e" },
{ name = "xls", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" },
{ name = "xlsx", text = "󰈛", fg_dark = "#207245", fg_light = "#207245" },
{ name = "xm", text = "", fg_dark = "#519aba", fg_light = "#36677c" },
{ name = "xml", text = "󰗀", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "xpi", text = "", fg_dark = "#ff1b01", fg_light = "#bf1401" },
{ name = "xul", text = "", fg_dark = "#e37933", fg_light = "#975122" },
{ name = "xz", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "yaml", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "yml", text = "", fg_dark = "#6d8086", fg_light = "#526064" },
{ name = "zig", text = "", fg_dark = "#f69a1b", fg_light = "#7b4d0e" },
{ name = "zip", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
{ name = "zsh", text = "", fg_dark = "#89e051", fg_light = "#447028" },
{ name = "zst", text = "", fg_dark = "#eca517", fg_light = "#76520c" },
] ]
conds = [ conds = [
# Special files # Special files
{ if = "orphan", text = "" }, { if = "orphan", text = "" },
{ if = "block" , text = "" },
{ if = "char" , text = "" }, { if = "block", text = "" },
{ if = "fifo" , text = "" }, { if = "char", text = "" },
{ if = "sock" , text = "" }, { if = "fifo", text = "" },
{ if = "sock", text = "" },
{ if = "sticky", text = "" }, { if = "sticky", text = "" },
{ if = "dummy", text = "" }, { if = "dummy", text = "" },
# Fallback # Fallback
{ if = "dir", text = "󰝰", fg_dark = "yellow" }, { if = "dir", text = "󰝰", fg = "yellow" },
{ if = "exec", text = "", fg_dark = "yellow" }, { if = "exec", text = "" },
# { if = "!dir", text = "" },
{ if = "!dir", text = "" }, { if = "!dir", text = "" },
] ]
# : }}}

View file

@ -1,31 +1,7 @@
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. [mgr]
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
[manager]
ratio = [ 1, 2, 3 ]
sort_by = "alphabetical"
sort_sensitive = false
sort_reverse = false
sort_dir_first = true
sort_translit = false
linemode = "size"
show_hidden = true
show_symlink = false show_symlink = false
# scrolloff = 5 linemode = "size"
mouse_events = [ "click", "scroll" ]
title_format = "Yazi: {cwd}"
[preview]
tab_size = 2
max_width = 1000
max_height = 1500
cache_dir = ""
image_filter = "triangle"
image_quality = 75
sixel_fraction = 15
ueberzug_scale = 4
ueberzug_offset = [ 0, 0, 0, 0 ]
[opener] [opener]
open = [ open = [
@ -44,124 +20,9 @@ rules = [
{ mime = "*", use = [ "open", "alt" ] }, { mime = "*", use = [ "open", "alt" ] },
] ]
[tasks]
micro_workers = 10
macro_workers = 25
bizarre_retry = 5
image_alloc = 536870912 # 512MB
image_bound = [ 0, 0 ]
suppress_preload = false
[plugin] [plugin]
prepend_previewers = [
fetchers = [ # Default json previewer not working for some reason
# Mimetype { mime = "application/{json,ndjson}", run = "code" },
{ id = "mime", name = "*", run = "mime", if = "!mime", prio = "high" },
]
preloaders = [
# Image
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# PDF
{ mime = "application/pdf", run = "pdf" },
# Font
{ mime = "font/*", run = "font" },
{ mime = "application/vnd.ms-opentype", run = "font" },
]
previewers = [
{ name = "*/", run = "folder", sync = true },
# Code
{ mime = "text/*", run = "code" },
{ mime = "*/{xml,javascript,x-wine-extension-ini}", run = "code" },
# JSON
{ mime = "application/{json,x-ndjson}", run = "json" },
# Image
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
{ mime = "image/*", run = "image" },
# Video
{ mime = "video/*", run = "video" },
# PDF
{ mime = "application/pdf", run = "pdf" },
# Archive
{ mime = "application/{,g}zip", run = "archive" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar,iso9660-image}", run = "archive" },
# Font
{ mime = "font/*", run = "font" },
{ mime = "application/vnd.ms-opentype", run = "font" },
# Empty file
{ mime = "inode/x-empty", run = "empty" },
# Fallback
{ name = "*", run = "file" },
] ]
[input]
# cd
cd_title = "Change directory:"
cd_origin = "top-center"
cd_offset = [ 0, 2, 50, 3 ]
# create
create_title = "Create:"
create_origin = "top-center"
create_offset = [ 0, 2, 50, 3 ]
# rename
rename_title = "Rename:"
rename_origin = "hovered"
rename_offset = [ 0, 1, 50, 3 ]
# trash
trash_title = "Move {n} selected file{s} to trash? (y/N)"
trash_origin = "top-center"
trash_offset = [ 0, 2, 50, 3 ]
# delete
delete_title = "Delete {n} selected file{s} permanently? (y/N)"
delete_origin = "top-center"
delete_offset = [ 0, 2, 50, 3 ]
# filter
filter_title = "Filter:"
filter_origin = "top-center"
filter_offset = [ 0, 2, 50, 3 ]
# find
find_title = [ "Find next:", "Find previous:" ]
find_origin = "top-center"
find_offset = [ 0, 2, 50, 3 ]
# search
search_title = "Search via {n}:"
search_origin = "top-center"
search_offset = [ 0, 2, 50, 3 ]
# shell
shell_title = [ "Shell:", "Shell (block):" ]
shell_origin = "top-center"
shell_offset = [ 0, 2, 50, 3 ]
# overwrite
overwrite_title = "Overwrite an existing file? (y/N)"
overwrite_origin = "top-center"
overwrite_offset = [ 0, 2, 50, 3 ]
# quit
quit_title = "{n} task{s} running, sure to quit? (y/N)"
quit_origin = "top-center"
quit_offset = [ 0, 2, 50, 3 ]
[select]
open_title = "Open with:"
open_origin = "hovered"
open_offset = [ 0, 1, 50, 7 ]
[which]
sort_by = "none"
sort_sensitive = false
sort_reverse = false
sort_translit = false
[log]
enabled = false

View file

@ -39,6 +39,7 @@ export XDG_STATE_HOME="$HOME/.local/state"
export CARGO_HOME="$XDG_DATA_HOME/cargo" export CARGO_HOME="$XDG_DATA_HOME/cargo"
export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv" export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
export EMACS_INIT_FILE="$XDG_CONFIG_HOME/emacs" export EMACS_INIT_FILE="$XDG_CONFIG_HOME/emacs"
export FZF_DEFAULT_OPTS_FILE="$XDG_CONFIG_HOME/fzf/config"
export GIT_CONFIG="$XDG_CONFIG_HOME/git/config" export GIT_CONFIG="$XDG_CONFIG_HOME/git/config"
export GNUPGHOME="$XDG_DATA_HOME/gnupg" export GNUPGHOME="$XDG_DATA_HOME/gnupg"
export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc" export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc"

View file

@ -59,7 +59,6 @@ alias asciiquarium='asciiquarium -t'
alias ll='ls -l' alias ll='ls -l'
alias la='ls -A' alias la='ls -A'
alias l='ls -CF' alias l='ls -CF'
alias python='python3'
alias xournal='xournalpp' alias xournal='xournalpp'
alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"'
alias sxiv='nsxiv' alias sxiv='nsxiv'
@ -69,6 +68,8 @@ alias zoom='dlkiller zoom'
alias tor='torbrowser-launcher' alias tor='torbrowser-launcher'
alias emax="devour emacsclient -c -a 'emacs' 1>/dev/null" alias emax="devour emacsclient -c -a 'emacs' 1>/dev/null"
alias em="emacsclient -nw -a 'emacs -nw'" alias em="emacsclient -nw -a 'emacs -nw'"
alias wgup="sudo wg-quick up ~/wg-quick.conf"
alias wgdown="sudo wg-quick down ~/wg-quick.conf"
# Colorful output # Colorful output
alias ls='LC_COLLATE=C ls --color=auto --group-directories-first -hN -A' alias ls='LC_COLLATE=C ls --color=auto --group-directories-first -hN -A'
@ -106,6 +107,41 @@ function pwdterm {
setsid -f $TERMINAL -e $SHELL >/dev/null 2>&1 & setsid -f $TERMINAL -e $SHELL >/dev/null 2>&1 &
} }
function ncd() {
local dir=$1
local file=$2
cd "$dir" || return
if [[ -n "$file" ]]; then
nvim "$file"
else
nvim
fi
}
_ncd_completion() {
local dir
local resolved_dir
dir="${words[2]}"
if command -v realpath &>/dev/null; then
resolved_dir="$(realpath -- "$dir" 2>/dev/null)"
elif command -v readlink &>/dev/null; then
resolved_dir="$(readlink -f -- "$dir" 2>/dev/null)"
else
# fallback: assume relative to $PWD manually
resolved_dir="$PWD/$dir"
fi
if [[ -d $resolved_dir ]]; then
_files -W "$resolved_dir"
else
_files
fi
}
function ya() { function ya() {
local tmp="$(mktemp -t "yazi-cwd.XXXXX")" local tmp="$(mktemp -t "yazi-cwd.XXXXX")"
yazi "$@" --cwd-file="$tmp" yazi "$@" --cwd-file="$tmp"
@ -199,6 +235,9 @@ compinit -d ~/.cache/zcompdump
zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*:*:*:*:*' menu select
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # case insensitive tab completion zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # case insensitive tab completion
compdef _ncd_completion ncd
# Remove green background of simlinks # Remove green background of simlinks
LS_COLORS+=':ow=01;33' LS_COLORS+=':ow=01;33'
@ -240,8 +279,5 @@ if [ -f ~/.config/zsh/.zshpersonalrc ]; then
source ~/.config/zsh/.zshpersonalrc source ~/.config/zsh/.zshpersonalrc
fi fi
accent_color="$(cat $HOME/.config/colors/accent)"
starship config format "'''[╭──\([\$username@\$hostname](bold $accent_color)\)-\[\$directory\](-\[\$git_branch\$git_metrics\$git_status\])(-\[\$nix_shell\])]($accent_color) \$cmd_duration
[╰─]($accent_color)[\$shell](bold $accent_color) '''"
eval "$(starship init zsh)" eval "$(starship init zsh)"

View file

@ -1,12 +1,13 @@
#!/bin/sh #!/bin/sh
sel="$(man -k . | fuzzel --dmenu -i -p "Man page:")" sel="$(man -k . | fzf --prompt "Man page: ")"
[ "$sel" = "" ] && exit # Exit on no selection [ "$sel" = "" ] && exit # Exit on no selection
# Selection comes in the form of: # Selection comes in the form of:
# $program ($num) - $desc # $program ($num) - $desc
# Need to run `man $num $program` # Need to run `man $num $program`
page="$(echo "$sel" | awk -F'[()]' '{print $2" "$1}')" page="$(echo "$sel" | awk -F'[()]' '{print $2" "$1}')"
# nohup $TERMINAL -e man $page >/dev/null 2>&1 & # hyprctl dispatch exec [floating] "foot -W 78x38 -e man $page"
hyprctl dispatch exec [floating] "foot -W 78x38 -e man $page"
man $page

View file

@ -93,16 +93,27 @@ case $(file --mime-type "$file" -b) in
launch_term nvim "$file" launch_term nvim "$file"
fi fi
;; ;;
image/x-xcf)
list_exit \
"Gimp"
launch_gui gimp "$file"
;;
image/*) image/*)
list_exit \ list_exit \
"nsxiv" "nsxiv" \
"Gimp"
if [ "$num" -eq 2 ]; then
launch_gui gimp "$file"
else
launch_gui nsxiv "$file" launch_gui nsxiv "$file"
fi
;; ;;
video/*) video/*)
list_exit \ list_exit \
"Neovim" \ "MPV"
"Emacs GUI" \
"Emacs TUI"
launch_gui mpv -quiet "$file" launch_gui mpv -quiet "$file"
;; ;;
application/epub*|\ application/epub*|\
@ -113,12 +124,14 @@ case $(file --mime-type "$file" -b) in
image/vnd.djvu) image/vnd.djvu)
list_exit \ list_exit \
"Zathura" "Zathura"
launch_gui zathura "$file" launch_gui zathura "$file"
;; ;;
audio/*|\ audio/*|\
video/x-ms-asf) video/x-ms-asf)
list_exit \ list_exit \
"MPV" "MPV"
# If it has an album cover, launch graphical mpv # If it has an album cover, launch graphical mpv
[ -z "$(mediainfo "$1" | grep "Cover\s*: Yes")" ] \ [ -z "$(mediainfo "$1" | grep "Cover\s*: Yes")" ] \
&& (launch_term mpv --audio-display=no "$file") \ && (launch_term mpv --audio-display=no "$file") \

View file

@ -11,6 +11,9 @@ in {
dates = "weekly"; dates = "weekly";
options = "--delete-older-than 7d"; options = "--delete-older-than 7d";
}; };
# I do not use flakes personally, but being able to run other
# people's flakes is convenient.
settings.experimental-features = [ "nix-command" "flakes" ];
}; };
# Files to add to /etc # Files to add to /etc
@ -29,6 +32,8 @@ in {
]; ];
}; };
networking.networkmanager.enable = true;
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8"; LC_ADDRESS = "en_US.UTF-8";
@ -48,21 +53,23 @@ in {
# version of this font centers the symbols which is nice. # version of this font centers the symbols which is nice.
nur.repos.bandithedoge.symbols-nerd-font nur.repos.bandithedoge.symbols-nerd-font
hack-font
fira-code fira-code
nerd-fonts.fira-code
font-awesome
hack-font
inter inter
fira-code-nerdfont libertine
roboto
source-sans-pro
]; ];
networking.networkmanager.enable = true;
# Bluetooth daemon # Bluetooth daemon
services.blueman.enable = true; services.blueman.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true; hardware.bluetooth.powerOnBoot = true;
# Audio daemon # Audio daemon
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
@ -101,6 +108,7 @@ in {
]; ];
}; };
zsh.enable = true; zsh.enable = true;
command-not-found.enable = true;
}; };
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
@ -146,6 +154,7 @@ in {
man-pages-posix # Documentation man-pages-posix # Documentation
neofetch # Aesthetic sysinfo neofetch # Aesthetic sysinfo
openconnect # Connect to VPNs openconnect # Connect to VPNs
p7zip # Open 7z files
pass-nodmenu # CLI password store (without dmenu dependency) pass-nodmenu # CLI password store (without dmenu dependency)
pinentry-curses # Terminal-based pinentry program pinentry-curses # Terminal-based pinentry program
socat # Interact with sockets socat # Interact with sockets
@ -153,6 +162,8 @@ in {
tldr # Brief info about a command tldr # Brief info about a command
tmux # Terminal multiplexor tmux # Terminal multiplexor
udisks # Good way of dealing with USBs and similar media udisks # Good way of dealing with USBs and similar media
unrar-free # Open .rar files
wget # Similar to curl
yazi # Terminal file manager yazi # Terminal file manager
# Shell # Shell
@ -186,7 +197,7 @@ in {
(self: super: { (self: super: {
# Pop into an environment abiding by the Filesystem Hierarchy Standard # Pop into an environment abiding by the Filesystem Hierarchy Standard
# to run applications which do not play nicely with NixOS. # to run applications which do not play nicely with NixOS.
fhs-run = pkgs.buildFHSUserEnv { fhs-run = pkgs.buildFHSEnv {
name = "fhs-run"; name = "fhs-run";
targetPkgs = pkgs: []; targetPkgs = pkgs: [];
multiPkgs = pkgs: [ pkgs.dpkg ]; multiPkgs = pkgs: [ pkgs.dpkg ];

View file

@ -0,0 +1,35 @@
{ lib
, pkgs
, stdenv
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "extra-icons";
version = "0.0.1";
src = ./.;
nativeBuildInputs = with pkgs; [
imagemagick # for resize
inkscape # for svgs
];
postInstall = ''
mkdir -p $out/share/icons/hicolor/scalable/apps/
for icon in ${src}/raster/*; do
icon_name=$(basename "$icon")
inkscape -p "$icon" -o "$out/share/icons/hicolor/scalable/apps/extra-scale-''${icon_name%.*}.svg"
for i in 16 24 48 64 96 128 256 512; do
mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
magick convert -background none -resize "''${i}x''${i}" "$icon" "$out/share/icons/hicolor/''${i}x''${i}/apps/extra-$icon_name"
done
done
for icon in ${src}/vector/*; do
icon_name=$(basename "$icon")
cp "$icon" "$out/share/icons/hicolor/scalable/apps/extra-scale-$icon_name"
inkscape -p "$icon" -o "$out/share/icons/hicolor/scalable/apps/extra-''${icon_name%.*}-svg.svg"
done
'';
}

View file

@ -0,0 +1,29 @@
{ appimageTools, fetchurl, ... }:
let
pname = "zen";
version = "latest";
src = fetchurl {
url = "https://github.com/zen-browser/desktop/releases/latest/download/zen-x86_64.AppImage";
sha256 = "sha256-hZiJ8JLzLhtD1W8DAso3yBAJYhFE+nJEbQJa59AWjnU=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
# Install .desktop file
install -m 444 -D ${appimageContents}/zen.desktop $out/share/applications/${pname}.desktop
# Install icon
install -m 444 -D ${appimageContents}/zen.png $out/share/icons/hicolor/128x128/apps/${pname}.png
'';
meta = {
platforms = [ "x86_64-linux" ];
};
}

View file

@ -9,12 +9,11 @@
type = "fcitx5"; type = "fcitx5";
fcitx5 = { fcitx5 = {
waylandFrontend = true; waylandFrontend = true;
plasma6Support = false;
addons = with pkgs; [ addons = with pkgs; [
fcitx5-with-addons qt6Packages.fcitx5-with-addons
fcitx5-configtool qt6Packages.fcitx5-configtool
qt6Packages.fcitx5-chinese-addons
fcitx5-rime fcitx5-rime
fcitx5-chinese-addons
fcitx5-m17n fcitx5-m17n
]; ];
}; };

View file

@ -7,7 +7,7 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
javaPackages.openjfx19 javaPackages.openjfx17
jdk17 jdk17
]; ];
} }

View file

@ -5,8 +5,10 @@
neovim neovim
# LSPs # LSPs
clang
clang-tools clang-tools
lua-language-server lua-language-server
python3Packages.python-lsp-server
# Misc # Misc
ripgrep # Used by telescope ripgrep # Used by telescope

View file

@ -1,10 +0,0 @@
{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
steam
];
}

View file

@ -5,11 +5,7 @@ let
nixos-unstable = (import <nixos-unstable> {}); nixos-unstable = (import <nixos-unstable> {});
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland_nightly = (import flake-compat { hyprland_nightly = (import flake-compat {
src = builtins.fetchGit { src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/main.tar.gz";
ref = "main";
url = "https://github.com/hyprwm/Hyprland.git";
submodules = true;
};
}).defaultNix; }).defaultNix;
in { in {
# Trusted Hyprland cache, as to not have to rebuild nightly # Trusted Hyprland cache, as to not have to rebuild nightly
@ -21,14 +17,39 @@ in {
# Or else swaylock will not accept correct password # Or else swaylock will not accept correct password
security.pam.services.swaylock = {}; security.pam.services.swaylock = {};
services.keyd.enable = true;
services.keyd.keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "overload(control, esc)";
esc = "capslock";
};
};
};
};
# Enable OpenGL
hardware.graphics = {
enable = true;
};
programs = { programs = {
hyprland = { # Dynamic tiling window manager hyprland = { # Dynamic tiling window manager
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
# package = nixos-unstable.hyprland;
# package = hyprland_nightly.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
}; };
nm-applet.enable = true;
dconf = {
enable = true;
profiles.gdm.databases = [{
settings = {
# set dark theme for gtk 4
"org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; };
};
}];
};
}; };
systemd.user.services = { systemd.user.services = {
@ -41,24 +62,27 @@ in {
serviceConfig.Restart = "always"; serviceConfig.Restart = "always";
serviceConfig.RestartSec = 1; serviceConfig.RestartSec = 1;
}; };
# network-manager-applet = {
# description = "Start the network manager applet";
# after = [ "graphical-session.target" ];
# requires = [ "graphical-session.target" ];
# wantedBy = [ "graphical-session.target" ];
# serviceConfig.Type = "forking";
# serviceConfig.Restart = "always";
# serviceConfig.RestartSec = 1;
# serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
# };
}; };
environment.variables.GSETTINGS_SCHEMA_DIR =
let
paths = [
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas/"
"${pkgs.bottles-unwrapped}/share/gsettings-schemas/${pkgs.bottles-unwrapped.name}/glib-2.0/schemas/"
];
in
builtins.concatStringsSep ":" paths;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
adwaita-icon-theme
adwaita-qt
blueman # Bluetooth manager blueman # Bluetooth manager
dunst # Notification daemon dunst # Notification daemon
firefox # My browser of choice firefox # My browser of choice
foot # Wayland native terminal foot # Wayland native terminal
fuzzel # Fuzzy finding menuing program fuzzel # Fuzzy finding menuing program
glib
gnome-themes-extra
gobble # Wayland alternative to devour gobble # Wayland alternative to devour
grimblast # Allows freezing screen grimblast # Allows freezing screen
grim # Screenshot tool grim # Screenshot tool
@ -66,22 +90,21 @@ in {
hypridle # Do commands upon user idle hypridle # Do commands upon user idle
hyprland-autoname-workspaces # Add icons to workspace titles hyprland-autoname-workspaces # Add icons to workspace titles
hyprlock # Screen locking utility hyprlock # Screen locking utility
hyprpaper
hyprpicker # Colorpicker utility hyprpicker # Colorpicker utility
kanshi # Autorandr substitute hyprsunset # Bluelight filter
libnotify # Send messages to notification daemon libnotify # Send messages to notification daemon
libreoffice # MSOffice btfo libreoffice # MSOffice btfo
# networkmanagerapplet # Wifi dropdown menu # networkmanagerapplet # Wifi dropdown menu
networkmanager_dmenu # Manage wifi with dmenu networkmanager_dmenu # Manage wifi with dmenu
nsxiv # Image viewer nsxiv # Image viewer
nwg-displays nwg-displays
pcmanfm # Graphical file manager
pinentry-rofi # Rofi frontend for pinentry program pinentry-rofi # Rofi frontend for pinentry program
pyprland # Plugin manager for Hyprland quickshell # Use QT to create widgets
rofi # Menu prompt program rofi # Menu prompt program
rofi-pass # Rofi frontend for password store rofi-pass # Rofi frontend for password store
sassc # SCSS interpreter
slurp # Screen selection utility slurp # Screen selection utility
st st # Suckless Simple Terminal
swaylock # Wayland session locker swaylock # Wayland session locker
swww # Sets background images swww # Sets background images
texlive.combined.scheme-full # LaTeX to create documents texlive.combined.scheme-full # LaTeX to create documents
@ -93,38 +116,46 @@ in {
wdisplays # Arnadr substitute wdisplays # Arnadr substitute
wl-clipboard # Copy/paste utility wl-clipboard # Copy/paste utility
wlr-randr # Xrandr substitute wlr-randr # Xrandr substitute
xwaylandvideobridge # Allows screensharing from XWayland programs
xorg.xcursorthemes xorg.xcursorthemes
zathura # Minimalist PDF reader zathura # Minimalist PDF reader
zen-browser zen-browser # Better firefox
intel-gpu-tools # Tools for intel GPU
mesa-demos # Tools for Mesa drivers
xfce.thunar # Graphical file manager
xfce.tumbler # Thumbnailer service
# libsForQt5.qt5.qtsvg # Allow for svg icons in QT applications
kdePackages.qt6ct
# GTK Themes # GTK Themes
lxappearance-gtk2 # Theme switcher lxappearance-gtk2 # Theme switcher
gruvbox-dark-gtk gruvbox-dark-gtk
# Custom packages
extra-icons
]; ];
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (final: prev: {
hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces; hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces;
waybar = nixos-unstable.waybar;
typst = nixos-unstable.typst; typst = nixos-unstable.typst;
# typst = (import flake-compat { swww = nixos-unstable.swww;
# src = builtins.fetchGit {
# url = "https://github.com/typst/typst.git";
# };
# }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default;
zen-browser = (import flake-compat { zen-browser = (import flake-compat {
src = builtins.fetchGit { src = builtins.fetchGit {
url = "https://github.com/0xc000022070/zen-browser-flake.git"; url = "https://github.com/0xc000022070/zen-browser-flake.git";
}; };
}).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default; }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default;
st = prev.st.overrideAttrs (o: { st = prev.callPackage /home/vince/.config/st/default.nix {};
src = /home/vince/.config/st; extra-icons = prev.callPackage ../../derivations/extra-icons {};
buildInputs = o.buildInputs ++ (with pkgs; [ # quickshell = (nixos-unstable.callPackage "${builtins.fetchGit {
# Extra libraries needed to build patches # url = "https://git.outfoxxed.me/outfoxxed/quickshell.git";
harfbuzz # ref = "master";
imlib2 # }}/" {}).overrideAttrs (oa: {
]); # buildInputs = (oa.buildInputs or []) ++ [ nixos-unstable.qt6.qt5compat ];
# });
quickshell = nixos-unstable.quickshell.overrideAttrs(oa: {
buildInputs = (oa.buildInputs or []) ++ [ nixos-unstable.qt6.qt5compat ];
}); });
}) })
]; ];

View file

@ -1,18 +0,0 @@
pragma Singleton
import QtQuick
import Quickshell
Singleton {
id: root
property var popupContext: PopupContext {};
property var date: new Date()
Timer {
interval: 1000
repeat: true
running: true
onTriggered: root.date = new Date()
}
}

View file

@ -0,0 +1,103 @@
pragma Singleton
import QtQuick
import Quickshell
Singleton {
property Item get: black
Item {
id: windowsXP
property string barBgColor: "#235EDC"
property string buttonBorderColor: "#99000000"
property bool buttonBorderShadow: false
property bool onTop: false
property string iconColor: "green"
property string iconPressedColor: "green"
property Gradient barGradient: black.barGradient
property Gradient buttonInactiveGradientV: Gradient {
GradientStop { position: 0.0; color: "#55FFFFFF" }
GradientStop { position: 0.3; color: "#22FFFFFF" }
}
property Gradient buttonInactiveGradientH: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: "#55FFFFFF" }
GradientStop { position: 0.1; color: "#00000000" }
}
property Gradient buttonActiveGradient: Gradient {
GradientStop { position: 0.0; color: "#99000000" }
GradientStop { position: 0.3; color: "#55000000" }
GradientStop { position: 1.0; color: "#55000000" }
}
}
Item {
id: black
property string barBgColor: "#cc000000"
property string buttonBorderColor: "#44FFFFFF"
property bool buttonBorderShadow: true
property bool onTop: true
property string iconColor: "blue"
property string iconPressedColor: "dark_blue"
property Gradient barGradient: Gradient {
GradientStop { position: 0.0; color: "#55FFFFFF" }
GradientStop { position: 0.4; color: "#00FFFFFF" }
GradientStop { position: 0.8; color: "#00FFFFFF" }
GradientStop { position: 1.0; color: "#AA000000" }
}
property Gradient buttonInactiveGradientV: Gradient {
GradientStop { position: 0.0; color: "#33FFFFFF" }
GradientStop { position: 0.3; color: "#55000000" }
}
property Gradient buttonInactiveGradientH: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: "#55FFFFFF" }
GradientStop { position: 0.1; color: "#00000000" }
}
property Gradient buttonActiveGradient: Gradient {
GradientStop { position: 0.92; color: "#FF000000" }
GradientStop { position: 0.93; color: "#FFFFFFFF" }
GradientStop { position: 1.0; color: "#FFFFFFFF" }
}
}
Item {
id: black_bright
property string barBgColor: black.barBgColor
property string buttonBorderColor: windowsXP.buttonBorderColor
property bool buttonBorderShadow: windowsXP.buttonBorderShadow
property bool onTop: black.onTop
property string iconColor: "orange"
property string iconPressedColor: "orange"
property Gradient barGradient: black.barGradient
property Gradient buttonInactiveGradientV: windowsXP.buttonInactiveGradientV
property Gradient buttonInactiveGradientH: windowsXP.buttonInactiveGradientH
property Gradient buttonActiveGradient: windowsXP.buttonActiveGradient
}
Item {
id: black_flat
property string barBgColor: "#cc000000"
property string buttonBorderColor: "#01000000" // Making this transparent breaks things
property bool buttonBorderShadow: false
property bool onTop: true
property string iconColor: ""
property string iconPressedColor: ""
property Gradient barGradient: Gradient {
GradientStop { position: 0.0; color: "transparent" }
}
property Gradient buttonInactiveGradientV: Gradient {
GradientStop { position: 0.0; color: "transparent" }
}
property Gradient buttonInactiveGradientH: Gradient {
orientation: Gradient.Horizontal
GradientStop { position: 0.0; color: "transparent" }
}
property Gradient buttonActiveGradient: black.buttonActiveGradient
}
}

View file

@ -1,49 +1,98 @@
import Quickshell import Quickshell
import Quickshell.Io import Quickshell.Io
import Quickshell.Hyprland
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import "blocks" as Blocks import "blocks" as Blocks
import "root:/"
Scope { Scope {
Variants { Variants {
model: Quickshell.screens model: Quickshell.screens
PanelWindow { PanelWindow {
id: bar
property var modelData property var modelData
screen: modelData screen: modelData
color: "#cc000000" color: Theme.get.barBgColor
height: 27
Rectangle {
id: highlight
anchors.fill: parent
gradient: Theme.get.barGradient
}
height: 30
visible: true
IpcHandler {
target: "bar"
function toggleVis(): void {
visible = !visible;
}
}
anchors { anchors {
top: true top: Theme.get.onTop
bottom: !Theme.get.onTop
left: true left: true
right: true right: true
} }
RowLayout { RowLayout {
id: allBlocks
spacing: 0 spacing: 0
width: parent.width anchors.fill: parent
height: parent.height
// Left side // Left side
RowLayout { RowLayout {
spacing: 0 id: leftBlocks
spacing: 10
Layout.alignment: Qt.AlignLeft Layout.alignment: Qt.AlignLeft
Layout.fillWidth: true
Blocks.Icon {} Blocks.Icon {}
Blocks.Workspaces {} Blocks.Workspaces {}
Blocks.ActiveWorkspace {} }
Blocks.ActiveWorkspace {
id: activeWorkspace
Layout.leftMargin: 10
anchors.centerIn: undefined
chopLength: {
var space = Math.floor(bar.width - (rightBlocks.implicitWidth + leftBlocks.implicitWidth))
return space * 0.08;
}
text: {
var str = activeWindowTitle
return str.length > chopLength ? str.slice(0, chopLength) + '...' : str;
}
color: {
return Hyprland.focusedMonitor == Hyprland.monitorFor(screen)
? "#FFFFFF" : "#CCCCCC"
}
}
// Without this filler item, the active window block will be centered
// despite setting left alignment
Item {
Layout.fillWidth: true
} }
// Right side // Right side
RowLayout { RowLayout {
id: rightBlocks
spacing: 0 spacing: 0
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
Layout.fillWidth: true
Blocks.SystemTray {} Blocks.SystemTray {}
Blocks.Test {}
Blocks.Notifications {}
Blocks.Memory {} Blocks.Memory {}
Blocks.Sound {} Blocks.Sound {}
Blocks.Battery {} Blocks.Battery {}

View file

@ -4,8 +4,11 @@ import Quickshell
Rectangle { Rectangle {
id: root id: root
Layout.preferredWidth: wsText.implicitWidth + 10 Layout.preferredWidth: contentContainer.implicitWidth + 10
Layout.preferredHeight: 27 Layout.preferredHeight: 30
property Item content
property Item mouseArea: mouseArea
property string text property string text
property bool dim: false property bool dim: false
@ -14,9 +17,7 @@ Rectangle {
property int leftPadding property int leftPadding
property int rightPadding property int rightPadding
property string fgColor: "white" property string hoveredBgColor: "#666666"
property string dimFgColor: "#999999"
property string hoveredBgColor: "#444444"
// Background color // Background color
color: { color: {
@ -40,28 +41,13 @@ Rectangle {
} }
} }
BarText { Item {
id: wsText // Contents of the bar block
text: root.text id: contentContainer
anchors { implicitWidth: content.implicitWidth
left: parent.left implicitHeight: content.implicitHeight
right: parent.right anchors.centerIn: parent
leftMargin: root.leftPadding children: content
rightMargin: root.rightPadding
verticalCenter: parent.verticalCenter
}
color: {
if (mouseArea.containsMouse || !root.dim)
return fgColor
return dimFgColor
}
Behavior on color {
ColorAnimation {
duration: 100
}
}
} }
MouseArea { MouseArea {
@ -76,11 +62,11 @@ Rectangle {
Rectangle { Rectangle {
id: wsLine id: wsLine
width: parent.width width: parent.width
height: 3 height: 2
color: { color: {
if (parent.underline) if (parent.underline)
return fgColor; return "white";
return "transparent"; return "transparent";
} }
anchors.bottom: parent.bottom anchors.bottom: parent.bottom

View file

@ -1,39 +1,57 @@
import Quickshell import Quickshell
import Quickshell.Io import Quickshell.Io
import Quickshell.Widgets
import QtQuick import QtQuick
import QtQuick.Layouts
import QtQuick.Effects
import Qt5Compat.GraphicalEffects
Item { Text {
property string text
property string color: "white"
property string mainFont: "FiraCode" property string mainFont: "FiraCode"
property string symbolFont: "Symbols Nerd Font Mono" property string symbolFont: "Symbols Nerd Font Mono"
property int pointSize: 11 property int pointSize: 12
property int symbolSize: pointSize * 1.37
property string symbolText
property bool dim
text: wrapSymbols(symbolText)
anchors.centerIn: parent
color: dim ? "#CCCCCC" : "white"
textFormat: Text.RichText
font {
family: mainFont
pointSize: pointSize
}
implicitWidth: thetext.implicitWidth Text {
implicitHeight: thetext.implicitHeight visible: false
id: textcopy
text: parent.text
textFormat: parent.textFormat
color: parent.color
font: parent.font
}
DropShadow {
anchors.fill: parent
horizontalOffset: 1
verticalOffset: 1
color: "#000000"
source: textcopy
}
function wrapSymbols(text) { function wrapSymbols(text) {
if (!text)
return ""
const isSymbol = (codePoint) => const isSymbol = (codePoint) =>
(codePoint >= 0xE000 && codePoint <= 0xF8FF) // Private Use Area (codePoint >= 0xE000 && codePoint <= 0xF8FF) // Private Use Area
|| (codePoint >= 0xF0000 && codePoint <= 0xFFFFF) // Supplementary Private Use Area-A || (codePoint >= 0xF0000 && codePoint <= 0xFFFFF) // Supplementary Private Use Area-A
|| (codePoint >= 0x100000 && codePoint <= 0x10FFFF); // Supplementary Private Use Area-B || (codePoint >= 0x100000 && codePoint <= 0x10FFFF); // Supplementary Private Use Area-B
return text.replace(/./gu, (c) => isSymbol(c.codePointAt(0)) return text.replace(/./gu, (c) => isSymbol(c.codePointAt(0))
? `<span style='font-family: ${symbolFont}; letter-spacing: -5px; font-size: ${pointSize + 4}px'>${c}</span>` ? `<span style='font-family: ${symbolFont}; letter-spacing: -5px; font-size: ${symbolSize}px'>${c}</span>`
// ? c
: c); : c);
} }
Text {
id: thetext
text: wrapSymbols(parent.text)
color: parent.color
anchors.centerIn: parent
font {
family: parent.mainFont
pointSize: parent.pointSize
}
textFormat: Text.RichText
}
} }

View file

@ -1,15 +1,16 @@
import QtQuick import QtQuick
import QtQuick.Layouts
import Quickshell.Io import Quickshell.Io
import Quickshell.Hyprland import Quickshell.Hyprland
import "../" import "../"
BarText { BarText {
text: { // text: {
var str = activeWindowTitle // var str = activeWindowTitle
return str.length > chopLength ? str.slice(0, chopLength) + '...' : str; // return str.length > chopLength ? str.slice(0, chopLength) + '...' : str;
} // }
property int chopLength: 70 property int chopLength
property string activeWindowTitle property string activeWindowTitle
Process { Process {

View file

@ -4,7 +4,9 @@ import "../"
BarBlock { BarBlock {
property string battery property string battery
text: battery content: BarText {
symbolText: battery
}
Process { Process {
id: batteryProc id: batteryProc

View file

@ -3,6 +3,8 @@ import "../"
BarBlock { BarBlock {
id: text id: text
text: ` ${Datetime.date}` content: BarText {
symbolText: ` ${Datetime.date}`
}
} }

View file

@ -1,11 +1,66 @@
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell import Quickshell
import Quickshell.Io
import Quickshell.Widgets
import Qt5Compat.GraphicalEffects
import "../" import "../"
import "root:/"
BarBlock { BarBlock {
Layout.preferredWidth: 30 id: root
rightPadding: 5 Layout.preferredWidth: 40
content: BarText {
text: "" text: ""
pointSize: 17
anchors.horizontalCenterOffset: -2
}
// content: IconImage {
// id: theicon
// visible: false
// anchors.centerIn: parent
// source: "image://icon/extra-nixos"
// implicitSize: 20
// }
// DropShadow {
// anchors.fill: parent
// horizontalOffset: 1
// verticalOffset: 1
// radius: 6.0
// samples: 20
// color: "#000000"
// source: parent.content
// }
// IconImage {
// anchors.centerIn: parent
// source: "image://icon/extra-nixos"
// implicitSize: 20
// }
Image {
anchors.fill: parent
source: mouseArea.containsMouse
? "../images/" + Theme.get.iconPressedColor + ".png"
: "../images/" + Theme.get.iconColor + ".png";
visible: true
z: -1
}
color: "transparent"
Process {
id: neofetch
running: false
command: [ "sh", "-c", "hyprctl dispatch exec [float] \
\"foot -W 95x22 -e zsh -c 'neofetch; while true; do; done'\"" ]
stdout: SplitParser {
onRead: data => console.log(`line read: ${data}`)
}
}
onClicked: function() {
neofetch.running = true
}
} }

View file

@ -6,7 +6,9 @@ import "../"
BarBlock { BarBlock {
id: text id: text
text: ` ${Math.floor(percentFree)}%` content: BarText {
symbolText: ` ${Math.floor(percentFree)}%`
}
property real percentFree property real percentFree

View file

@ -7,9 +7,15 @@ import "../"
BarBlock { BarBlock {
id: text id: text
text: ` ${Math.floor(sink?.audio.volume * 100)}%` visible: Pipewire.ready
content: BarText {
symbolText: ` ${volume}`
}
property PwNode sink: Pipewire.defaultAudioSink property PwNode sink: Pipewire.defaultAudioSink
property string volume: Pipewire.ready ? `${Math.floor(sink.audio.volume * 100)}%` : ""
PwObjectTracker { objects: [ sink ] } PwObjectTracker { objects: [ sink ] }
} }

View file

@ -4,13 +4,20 @@ import QtQuick.Layouts
import Quickshell import Quickshell
import Quickshell.Widgets import Quickshell.Widgets
import Quickshell.Services.SystemTray import Quickshell.Services.SystemTray
import "../" as Bar import "root:/bar"
RowLayout { RowLayout {
spacing: 5 spacing: 5
Repeater { Repeater {
model: SystemTray.items model: ScriptModel {
values: {[...SystemTray.items.values]
.filter((item) => {
return (item.id != "spotify-client"
&& item.id != "chrome_status_icon_1")
})
}
}
MouseArea { MouseArea {
id: delegate id: delegate
@ -43,7 +50,6 @@ RowLayout {
id: icon id: icon
anchors.centerIn: parent anchors.centerIn: parent
source: item.icon source: item.icon
implicitSize: 16 implicitSize: 16
} }
@ -62,7 +68,7 @@ RowLayout {
} }
} }
Bar.Tooltip { Tooltip {
relativeItem: delegate.containsMouse ? delegate : null relativeItem: delegate.containsMouse ? delegate : null
Label { Label {

View file

@ -3,6 +3,8 @@ import "../"
BarBlock { BarBlock {
id: text id: text
text: ` ${Datetime.time}` content: BarText {
symbolText: ` ${Datetime.time}`
}
} }

View file

@ -2,6 +2,8 @@ import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell import Quickshell
import Quickshell.Hyprland import Quickshell.Hyprland
import Quickshell.Widgets
import Qt5Compat.GraphicalEffects
import "root:/" import "root:/"
import "../" import "../"
@ -43,21 +45,224 @@ RowLayout {
property bool hasClients: ws.name.length > 2 property bool hasClients: ws.name.length > 2
dim: true dim: true
underline: isActive || isOpen underline: false
border.color: Theme.get.buttonBorderColor
radius: 5
gradient: isActive || isOpen ? Theme.get.buttonActiveGradient : Theme.get.buttonInactiveGradientV
Layout.preferredWidth: content.width + 20
Rectangle {
visible: !isActive && !isOpen
gradient: Theme.get.buttonInactiveGradientH
implicitWidth: parent.width
implicitHeight: parent.height
radius: parent.radius
z:-1
}
Rectangle {
visible: Theme.get.buttonBorderShadow
implicitWidth: parent.width - 1
implicitHeight: parent.height - 1
radius: parent.radius
color: "transparent" // Transparent fill
border.color: parent.isActive || parent.isOpen ? "transparent" : "black" // Inner border color
border.width: 1 // Inner border width
x: 1
y: 1
z: -1
}
onClicked: function() { onClicked: function() {
Hyprland.dispatch(`workspace ${ws.id}`); Hyprland.dispatch(`workspace ${ws.id}`);
} }
leftPadding: hasClients ? 2 : 0
text: { content: RowLayout {
if (isActive) { spacing: 0
if (!hasClients) anchors.centerIn: parent
return `<span style='color:${fgColor};'>${ws.name}</span>`
var split_i = ws.id > 9 ? 3 : 2 Repeater {
return `<span style='color:${fgColor};'>${ws.name.slice(0, split_i)}</span>${ws.name.slice(split_i)}` id: therepeater
model: ScriptModel {
values: getChunks(ws.name)
} }
return ws.name
delegate: Item {
property bool showText: modelData.type === "text" && modelData.value.length > 0
property bool showIcon: modelData.type === "icon"
// property int symbolSize: 18
property int symbolSize: 22
property int spacerSize: 3
implicitWidth: {
if (showText)
return thetext.implicitWidth
if (showIcon)
return symbolSize
return spacerSize;
}
implicitHeight: {
if (showText)
return thetext.implicitHeight
if (showIcon)
return symbolSize
return spacerSize;
}
Layout.alignment: Qt.AlignCenter
Loader {
id: thetext
anchors.centerIn: parent
active: modelData.type === "text"
sourceComponent: BarText {
text: modelData.value
dim: !isActive
// pointSize: 10
} }
} }
Loader {
id: theicon
anchors.centerIn: parent
active: modelData.type === "icon"
sourceComponent: Item {
implicitWidth: inside.implicitWidth
implicitHeight: inside.implicitHeight
IconImage {
id: inside
anchors.centerIn: parent
source: modelData.source
implicitSize: symbolSize
opacity: modelData.active ? 1 : 0.7
mipmap: true
}
DropShadow {
anchors.fill: parent
verticalOffset: 1
horizontalOffset: 1
radius: 8.0
color: "#000000"
source: inside
opacity: modelData.active ? 1 : 0.7
}
Rectangle {
visible: modelData.mult > 1
width: 10
height: width
radius: width / 2
color: "black"
opacity: 0.8
BarText {
text: modelData.mult
pointSize: 10
dim: !isActive
style: Text.Outline
styleColor: "black"
}
}
}
}
}
}
}
}
}
function getChunks(text) {
let chunks = [];
let buffer = ""; // Temporary storage for text segments
let symbolChunkInd = {}
let nextIsActive = false
for (let c of text) {
if (c === "󰀦") {
nextIsActive = true
continue
}
if (!(c in symbolImgMap)) {
buffer += c;
nextIsActive = false
continue;
}
if (buffer.length > 0 && !/^\s*$/.test(buffer)) {
chunks.push({
type: "text",
value: buffer,
});
buffer = ""; // Reset text buffer
}
if (!(c in symbolChunkInd)) {
if (chunks[chunks.length - 1].type == "icon") {
chunks.push({type: "spacer"})
}
symbolChunkInd[c] = chunks.length
chunks.push({
type: "icon",
active: nextIsActive,
source: `image://icon/${symbolImgMap[c]}`,
mult: 1, // multiplicity; how many times this symbol was seen
});
} else {
chunks[symbolChunkInd[c]].mult++
if (nextIsActive)
chunks[symbolChunkInd[c]].active = true;
}
nextIsActive = false
}
if (buffer.length > 0 && !/^\s*$/.test(buffer)) {
chunks.push({ type: "text", value: buffer})
}
return chunks;
}
property var symbolImgMap: {
"": "extra-scale-vim",
"󰇥": "extra-scale-yazi",
// "󰇧": "extra-zen",
"󰇧": "extra-scale-firefox",
"󰒱": "extra-scale-slack",
"": "extra-scale-terminal-thin",
"": "extra-scale-firefox",
"": "extra-scale-element-desktop",
"󰊴": "extra-scale-discord-circle-dark",
"": "extra-scale-chromium",
// "": "chromium",
"󰽉": "libreoffice-draw",
"󰷈": "libreoffice-writer",
"": "libreoffice-calc",
"󰈩": "libreoffice-impress",
// "󰭹": "signal-desktop",
"󰭹": "extra-signal-simple",
"": "extra-zathura",
"": "extra-spotify",
// "": "extra-scale-spotify",
"": "extra-steam",
"": "extra-scale-bluetooth",
"": "extra-anki",
"": "extra-scale-gimp",
"": "extra-ghidra",
// "󰄄": "com.obsproject.Studio",
"󰄄": "extra-scale-obs",
"": "extra-scale-photos",
"": "extra-anki",
"": "extra-mpv",
"": "extra-virtualbox",
"": "extra-scale-emacs",
"": "monero",
"󰻎": "extra-system-explorer-outline",
"󱍼": "extra-scale-vlc",
"": "com.usebottles.bottles",
"": "Zoom",
"󰊻": "teams-for-linux",
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View file

@ -1,8 +1,8 @@
//@ pragma UseQApplication //@ pragma UseQApplication
import Quickshell import Quickshell
import "bar" as Bar import "bar"
ShellRoot { ShellRoot {
Bar.Bar {} Bar {}
} }