diff --git a/misc/.config/fzf/config b/misc/.config/fzf/config new file mode 100644 index 0000000..eb23750 --- /dev/null +++ b/misc/.config/fzf/config @@ -0,0 +1 @@ +--layout=reverse diff --git a/misc/.config/hyprland-autoname-workspaces/config.toml b/misc/.config/hyprland-autoname-workspaces/config.toml index 058ccbc..acae548 100644 --- a/misc/.config/hyprland-autoname-workspaces/config.toml +++ b/misc/.config/hyprland-autoname-workspaces/config.toml @@ -1,34 +1,40 @@ version = "1.1.15" -[title."(?i)foot"] -Yazi = "󰇥" - [class] DEFAULT = "{class}" -"(?i)anki" = " " -"(?i)blueman-manager-wrapped" = " " -"(?i)chromium" = " " -"(?i)discord" = "󰊴 " -"(?i)element" = " " -"(?i)emacs" = " " -"(?i)firefox" = " " -"(?i)foot" = " " -"(?i)ghidra" = " " -"(?i)gimp" = " " -"(?i)kitty" = " " -"(?i)libreoffice-draw" = "󰽉 " -"(?i)libreoffice-writer" = "󰷈 " -"(?i)mpv" = " " -"(?i)mullvad vpn" = " " -"(?i)nsxiv" = " " -"(?i)signal" = "󰭹 " -"(?i)slack" = "󰒱 " -"(?i)spotify" = " " -"(?i)st" = " " -"(?i)steam" = " " -"(?i)virtualbox" = " " -"(?i)zathura" = " " -"(?i)zen" = "󰇧 " +"Anki" = " " +"blueman-manager-wrapped" = " " +"chromium" = " " +"com.obsproject.Studio" = "󰄄 " +"com.usebottles.bottles" = " " +"discord" = "󰊴 " +"Element" = " " +"emacs" = " " +"firefox" = " " +"foot" = " " +"ghidra" = " " +"Gimp" = " " +"kitty" = " " +"libreoffice-calc" = " " +"libreoffice-draw" = "󰽉 " +"libreoffice-impress" = "󰈩 " +"libreoffice-writer" = "󰷈 " +"mpv" = " " +"mullvad vpn" = " " +"Nsxiv" = " " +"org.getmonero." = " " +"org.kde.kdenlive" = " " +"signal" = "󰭹 " +"Slack" = "󰒱 " +"spotify" = " " +"st-256color" = " " +"steam" = " " +"teams-for-linux" = "󰊻 " +"VirtualBox" = " " +"vlc" = "󱍼 " +"zathura" = " " +"zen" = "󰇧 " +"zoom" = " " [class_active] @@ -49,15 +55,21 @@ DEFAULT = "{class}" 9 = "nine" 10 = "ten" -[title_in_class."(?i)foot"] -"(?i)neovim" = "neovim" -"(?i)nvim" = "nvim" +[title_in_class."st-256color"] +"Yazi" = "󰇥 " +"NVIM" = " " +"btop" = "󰻎 " +"htop" = "󰻎 " -[title_in_class."(?i)kitty"] -"(?i)neomutt" = "neomutt" +# Sometimes windows do not set a class +[title_in_class.""] +"Steam" = " " -[title_in_class_active."(?i)firefox"] -"(?i)twitch" = "{icon}" +[title_in_class."VirtualBox Machine"] +"Tiny11" = " " + +[title_in_class."steam"] +"Halo: The Master Chief Collection" = " " [title_in_initial_class] @@ -82,11 +94,13 @@ aProgram = "^$" dedup = false dedup_inactive_fullscreen = false delim = "" -workspace = "{id}:{delim}{clients}" +workspace = "{id} {clients}" workspace_empty = "{id}" -client = "{icon}" -client_fullscreen = "[{icon}]" -client_active = "{icon}" +# client = "{icon}" +client = "{icon}" +client_fullscreen = "{icon}" +# client_active = "{icon}" +client_active = "󰀦{icon}" client_dup = "{icon}{counter_sup}" client_dup_active = "*{icon}*{delim}{icon}{counter_unfocused_sup}" client_dup_fullscreen = "[{icon}]{delim}{icon}{counter_unfocused_sup}" diff --git a/misc/.config/starship.toml b/misc/.config/starship.toml index 97907f9..6fde80b 100644 --- a/misc/.config/starship.toml +++ b/misc/.config/starship.toml @@ -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 add_newline = false -format = '''[╭──\([$username@$hostname](bold blue)\)-\[$directory\](-\[$git_branch$git_metrics$git_status\])(-\[$nix_shell\])](blue) $cmd_duration -[╰─](blue)[$shell](bold blue) ''' -# format = ''' -# [\[$directory\](-\[$git_branch$git_metrics$git_status\])(-\[$nix_shell\])](blue)[λ ](blue bold) -# ''' +format = '''${custom.color}╭──\(${custom.bold}$username@$hostname${custom.color}\)-\[$directory${custom.color}(\]-\[$git_branch$git_metrics$git_status)${custom.color}\]( $nix_shell) $cmd_duration +${custom.color}╰─$shell ''' + 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] disabled = false @@ -23,7 +59,7 @@ show_always = true [nix_shell] symbol = '❄️' -format = '[$symbol$name](bold purple)' +format = '[$symbol $name](bold purple)' [hostname] ssh_only = false @@ -32,9 +68,8 @@ trim_at = '.companyname.com' disabled = false [git_branch] -style = 'bold green' symbol = '' -format = '[$symbol$branch(hello$banch)](bold green)' +format = '[$symbol$branch](bold green)' [git_status] modified = '[✘](bold red)' @@ -48,25 +83,19 @@ truncate_to_repo = true style = 'bold white' 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] min_time = 1_000 style = "bold dimmed yellow" format = '◷[$duration]($style) ' [shell] -fish_indicator = '󰈺' +fish_indicator = '󰈺' powershell_indicator = '_' -bash_indicator = '\$' -zsh_indicator = 'λ' -unknown_indicator = '?' +bash_indicator = '\$' +zsh_indicator = 'λ' +unknown_indicator = '?' disabled = false -format = '$indicator' +format = '[$indicator](bold)' [status] disabled = false diff --git a/misc/.config/yazi/init.lua b/misc/.config/yazi/init.lua index 2a10134..1f3e0ec 100644 --- a/misc/.config/yazi/init.lua +++ b/misc/.config/yazi/init.lua @@ -17,18 +17,19 @@ end, 500, Header.LEFT) function Header:cwd() local max = self._area.w - self._right_width if max <= 0 then - return ui.Span("") + return "" end - local cwd = ya.readable_path(tostring(self._tab.current.cwd)) .. self:flags() - local left = ui.Line { + local cwd = ya.readable_path(tostring(self._current.cwd)) .. self:flags() + 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("/"):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 -- Remove file size from status bar @@ -36,7 +37,7 @@ function Status:size() end -- Remove percentage from status bar -function Status:percentage() +function Status:percent() end -- Show symlink path in status bar diff --git a/misc/.config/yazi/keymap.toml b/misc/.config/yazi/keymap.toml index 753e62e..460d73b 100644 --- a/misc/.config/yazi/keymap.toml +++ b/misc/.config/yazi/keymap.toml @@ -1,33 +1,39 @@ -# 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/keymap.json" - -[manager] - +[mgr] prepend_keymap = [ - # Smart enter - { on = [ "o" ], run = [ "plugin smart-enter --sync --args='list'", "escape --visual --select" ], desc = "List openers for file." }, - { on = [ "l" ], run = [ "plugin smart-enter --sync", "escape --visual --select" ], desc = "Enter the child directory, or open file." }, - { 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." }, - { 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 = [ "!" ], 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." }, + # Jump + { on = [ "i" ], run = [ "plugin easyjump" ], desc = "easyjump" }, + { on = [ "f" ], run = [ "plugin jump-to-char" ], desc = "Jump to char" }, + + # Smart enter + { on = [ "o" ], run = [ "plugin smart-enter --sync -- list", "escape --visual --select" ], desc = "List openers for file." }, + { on = [ "l" ], run = [ "plugin smart-enter --sync", "escape --visual --select" ], desc = "Enter the child directory, or open file." }, + { on = [ "L" ], run = [ "plugin smart-enter --sync -- detatch", "escape --visual --select" ], desc = "Open in new window." }, - { 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 = [ ""], run = ''' - shell 'dragon -x -i -T "$1"' --confirm - ''', desc = "Open file with dragon"}, - { on = [ "=" ], run = """ - shell 'printf "Mode Bits: "; read ans; chmod $ans "$@"' --block --confirm - """, desc = "chmod" }, - { on = [ "" ], run = """ - shell '$TERMINAL -e $SHELL -c -i \"cd $PWD && ya && exec $SHELL\"' --orphan --confirm - """, desc = "Spawn new yazi window in CWD" }, + # 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 = [ "" ], run = 'shell -- xdragon -x -T "$1"', desc = "Open file with dragon"}, + + { on = [ "" ], run = "shell 'swallow thunar' --block --confirm", desc = "Open thunar"}, + + { on = [ "=" ], run = """ + shell 'printf "Mode Bits: "; read ans; chmod $ans "$@"' --block --confirm + """, desc = "chmod" }, + + { on = [ "" ], run = """ + shell '$TERMINAL -e $SHELL -c -i \"cd $PWD && ya && exec $SHELL\"' --orphan --confirm + """, desc = "Spawn new yazi window in CWD" }, ] diff --git a/misc/.config/yazi/plugins/arrow.yazi/init.lua b/misc/.config/yazi/plugins/arrow.yazi/init.lua deleted file mode 100644 index 9034881..0000000 --- a/misc/.config/yazi/plugins/arrow.yazi/init.lua +++ /dev/null @@ -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, -} - diff --git a/misc/.config/yazi/plugins/easyjump.yazi b/misc/.config/yazi/plugins/easyjump.yazi new file mode 160000 index 0000000..6606fb1 --- /dev/null +++ b/misc/.config/yazi/plugins/easyjump.yazi @@ -0,0 +1 @@ +Subproject commit 6606fb1d56eea4c99809c056fd701e58890655be diff --git a/misc/.config/yazi/plugins/jump-to-char.yazi/main.lua b/misc/.config/yazi/plugins/jump-to-char.yazi/main.lua new file mode 100644 index 0000000..f6bf648 --- /dev/null +++ b/misc/.config/yazi/plugins/jump-to-char.yazi/main.lua @@ -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, +} + diff --git a/misc/.config/yazi/plugins/smart-enter.yazi/init.lua b/misc/.config/yazi/plugins/smart-enter.yazi/init.lua deleted file mode 100644 index 048360c..0000000 --- a/misc/.config/yazi/plugins/smart-enter.yazi/init.lua +++ /dev/null @@ -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, -} - diff --git a/misc/.config/yazi/plugins/smart-enter.yazi/main.lua b/misc/.config/yazi/plugins/smart-enter.yazi/main.lua new file mode 100644 index 0000000..8fc5fb2 --- /dev/null +++ b/misc/.config/yazi/plugins/smart-enter.yazi/main.lua @@ -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 } + diff --git a/misc/.config/yazi/theme.toml b/misc/.config/yazi/theme.toml index 10a75f4..6908c3a 100644 --- a/misc/.config/yazi/theme.toml +++ b/misc/.config/yazi/theme.toml @@ -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] -separator_open = "" -separator_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 } +sep_left = { open = "", close = "" } +sep_right = { open = "", close = "" } # Progress progress_label = { bold = false } @@ -68,103 +8,15 @@ progress_normal = { fg = "lightblue", bg = "black" } progress_error = { fg = "red", bg = "black" } # Permissions -permissions_t = { fg = "lightgreen" } -permissions_r = { fg = "lightyellow" } -permissions_w = { fg = "lightred" } -permissions_x = { fg = "lightcyan" } -permissions_s = { fg = "darkgray" } +perm_type = { fg = "lightgreen" } +perm_read = { fg = "lightyellow" } +perm_write = { fg = "lightred" } +perm_exec = { fg = "lightcyan" } -# : }}} - - -# : Select {{{ - -[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 {{{ +[mode] +normal_main = { fg = "black", bg = "lightblue", bold = false } +select_main = { fg = "black", bg = "lightgreen", bold = false } +unset_main = { fg = "black", bg = "lightmagenta", bold = false } [filetype] @@ -198,576 +50,24 @@ rules = [ [icon] -globs = [] 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 = [ # Special files { if = "orphan", text = "" }, - { if = "block" , text = "" }, - { if = "char" , text = "" }, - { if = "fifo" , text = "" }, - { if = "sock" , text = "" }, + + { if = "block", text = "" }, + { if = "char", text = "" }, + { if = "fifo", text = "" }, + { if = "sock", text = "" }, { if = "sticky", text = "" }, - { if = "dummy", text = "" }, + { if = "dummy", text = "" }, # Fallback - { if = "dir", text = "󰝰", fg_dark = "yellow" }, - { if = "exec", text = "", fg_dark = "yellow" }, - { if = "!dir", text = "" }, + { if = "dir", text = "󰝰", fg = "yellow" }, + { if = "exec", text = "" }, + # { if = "!dir", text = "" }, + { if = "!dir", text = "" }, ] -# : }}} diff --git a/misc/.config/yazi/yazi.toml b/misc/.config/yazi/yazi.toml index 4b022c3..be9f291 100644 --- a/misc/.config/yazi/yazi.toml +++ b/misc/.config/yazi/yazi.toml @@ -1,31 +1,7 @@ -# 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/yazi.json" +[mgr] -[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 -# scrolloff = 5 -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 ] +show_symlink = false +linemode = "size" [opener] open = [ @@ -44,124 +20,9 @@ rules = [ { 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] - -fetchers = [ - # Mimetype - { 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" }, +prepend_previewers = [ + # Default json previewer not working for some reason + { mime = "application/{json,ndjson}", run = "code" }, ] -[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 diff --git a/misc/.config/zsh/.zshenv b/misc/.config/zsh/.zshenv index a35bb31..0943012 100644 --- a/misc/.config/zsh/.zshenv +++ b/misc/.config/zsh/.zshenv @@ -39,6 +39,7 @@ export XDG_STATE_HOME="$HOME/.local/state" export CARGO_HOME="$XDG_DATA_HOME/cargo" export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv" 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 GNUPGHOME="$XDG_DATA_HOME/gnupg" export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc" diff --git a/misc/.config/zsh/.zshrc b/misc/.config/zsh/.zshrc index f4a2b30..4135986 100755 --- a/misc/.config/zsh/.zshrc +++ b/misc/.config/zsh/.zshrc @@ -59,7 +59,6 @@ alias asciiquarium='asciiquarium -t' alias ll='ls -l' alias la='ls -A' alias l='ls -CF' -alias python='python3' alias xournal='xournalpp' alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' alias sxiv='nsxiv' @@ -69,6 +68,8 @@ alias zoom='dlkiller zoom' alias tor='torbrowser-launcher' alias emax="devour emacsclient -c -a 'emacs' 1>/dev/null" 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 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 & } +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() { local tmp="$(mktemp -t "yazi-cwd.XXXXX")" yazi "$@" --cwd-file="$tmp" @@ -199,6 +235,9 @@ compinit -d ~/.cache/zcompdump zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # case insensitive tab completion + +compdef _ncd_completion ncd + # Remove green background of simlinks LS_COLORS+=':ow=01;33' @@ -240,8 +279,5 @@ if [ -f ~/.config/zsh/.zshpersonalrc ]; then source ~/.config/zsh/.zshpersonalrc 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)" diff --git a/misc/.local/bin/menu-man b/misc/.local/bin/menu-man index ac39f4f..24487c7 100755 --- a/misc/.local/bin/menu-man +++ b/misc/.local/bin/menu-man @@ -1,12 +1,13 @@ #!/bin/sh -sel="$(man -k . | fuzzel --dmenu -i -p "Man page:")" +sel="$(man -k . | fzf --prompt "Man page: ")" [ "$sel" = "" ] && exit # Exit on no selection # Selection comes in the form of: # $program ($num) - $desc # Need to run `man $num $program` 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 diff --git a/misc/.local/bin/opener b/misc/.local/bin/opener index 1421aa5..5906230 100755 --- a/misc/.local/bin/opener +++ b/misc/.local/bin/opener @@ -93,16 +93,27 @@ case $(file --mime-type "$file" -b) in launch_term nvim "$file" fi ;; + image/x-xcf) + list_exit \ + "Gimp" + + launch_gui gimp "$file" + ;; image/*) list_exit \ - "nsxiv" - launch_gui nsxiv "$file" + "nsxiv" \ + "Gimp" + + if [ "$num" -eq 2 ]; then + launch_gui gimp "$file" + else + launch_gui nsxiv "$file" + fi ;; video/*) list_exit \ - "Neovim" \ - "Emacs GUI" \ - "Emacs TUI" + "MPV" + launch_gui mpv -quiet "$file" ;; application/epub*|\ @@ -113,12 +124,14 @@ case $(file --mime-type "$file" -b) in image/vnd.djvu) list_exit \ "Zathura" + launch_gui zathura "$file" ;; audio/*|\ video/x-ms-asf) list_exit \ "MPV" + # If it has an album cover, launch graphical mpv [ -z "$(mediainfo "$1" | grep "Cover\s*: Yes")" ] \ && (launch_term mpv --audio-display=no "$file") \ diff --git a/nixos/.config/nixos/core.nix b/nixos/.config/nixos/core.nix index 2c4359d..4aeec6e 100644 --- a/nixos/.config/nixos/core.nix +++ b/nixos/.config/nixos/core.nix @@ -11,6 +11,9 @@ in { dates = "weekly"; 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 @@ -29,6 +32,8 @@ in { ]; }; + networking.networkmanager.enable = true; + i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; @@ -48,21 +53,23 @@ in { # version of this font centers the symbols which is nice. nur.repos.bandithedoge.symbols-nerd-font - hack-font fira-code + nerd-fonts.fira-code + font-awesome + hack-font inter - fira-code-nerdfont + libertine + roboto + source-sans-pro ]; - networking.networkmanager.enable = true; - # Bluetooth daemon services.blueman.enable = true; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; # Audio daemon - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; @@ -101,6 +108,7 @@ in { ]; }; zsh.enable = true; + command-not-found.enable = true; }; virtualisation.docker.enable = true; @@ -146,6 +154,7 @@ in { man-pages-posix # Documentation neofetch # Aesthetic sysinfo openconnect # Connect to VPNs + p7zip # Open 7z files pass-nodmenu # CLI password store (without dmenu dependency) pinentry-curses # Terminal-based pinentry program socat # Interact with sockets @@ -153,6 +162,8 @@ in { tldr # Brief info about a command tmux # Terminal multiplexor udisks # Good way of dealing with USBs and similar media + unrar-free # Open .rar files + wget # Similar to curl yazi # Terminal file manager # Shell @@ -186,7 +197,7 @@ in { (self: super: { # Pop into an environment abiding by the Filesystem Hierarchy Standard # to run applications which do not play nicely with NixOS. - fhs-run = pkgs.buildFHSUserEnv { + fhs-run = pkgs.buildFHSEnv { name = "fhs-run"; targetPkgs = pkgs: []; multiPkgs = pkgs: [ pkgs.dpkg ]; diff --git a/nixos/.config/nixos/derivations/extra-icons/default.nix b/nixos/.config/nixos/derivations/extra-icons/default.nix new file mode 100644 index 0000000..c8e7c9a --- /dev/null +++ b/nixos/.config/nixos/derivations/extra-icons/default.nix @@ -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 + ''; +} + diff --git a/nixos/.config/nixos/derivations/zen-browser/default.nix b/nixos/.config/nixos/derivations/zen-browser/default.nix new file mode 100644 index 0000000..1d40da1 --- /dev/null +++ b/nixos/.config/nixos/derivations/zen-browser/default.nix @@ -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" ]; + }; +} + diff --git a/nixos/.config/nixos/profiles/fcitx.nix b/nixos/.config/nixos/profiles/fcitx.nix index ab74a18..8c54375 100644 --- a/nixos/.config/nixos/profiles/fcitx.nix +++ b/nixos/.config/nixos/profiles/fcitx.nix @@ -9,12 +9,11 @@ type = "fcitx5"; fcitx5 = { waylandFrontend = true; - plasma6Support = false; addons = with pkgs; [ - fcitx5-with-addons - fcitx5-configtool + qt6Packages.fcitx5-with-addons + qt6Packages.fcitx5-configtool + qt6Packages.fcitx5-chinese-addons fcitx5-rime - fcitx5-chinese-addons fcitx5-m17n ]; }; diff --git a/nixos/.config/nixos/profiles/java.nix b/nixos/.config/nixos/profiles/java.nix index cad70d1..c805e32 100644 --- a/nixos/.config/nixos/profiles/java.nix +++ b/nixos/.config/nixos/profiles/java.nix @@ -7,7 +7,7 @@ }; environment.systemPackages = with pkgs; [ - javaPackages.openjfx19 + javaPackages.openjfx17 jdk17 ]; } diff --git a/nixos/.config/nixos/profiles/nvim.nix b/nixos/.config/nixos/profiles/nvim.nix index f0ef054..a85e1b6 100644 --- a/nixos/.config/nixos/profiles/nvim.nix +++ b/nixos/.config/nixos/profiles/nvim.nix @@ -5,8 +5,10 @@ neovim # LSPs + clang clang-tools lua-language-server + python3Packages.python-lsp-server # Misc ripgrep # Used by telescope diff --git a/nixos/.config/nixos/profiles/steam.nix b/nixos/.config/nixos/profiles/steam.nix deleted file mode 100644 index 7b0065a..0000000 --- a/nixos/.config/nixos/profiles/steam.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, ... }: - -{ - nixpkgs.config.allowUnfree = true; - - environment.systemPackages = with pkgs; [ - steam - ]; -} - diff --git a/nixos/.config/nixos/profiles/wm/hyprland.nix b/nixos/.config/nixos/profiles/wm/hyprland.nix index 82a9ace..a61c6ad 100644 --- a/nixos/.config/nixos/profiles/wm/hyprland.nix +++ b/nixos/.config/nixos/profiles/wm/hyprland.nix @@ -5,11 +5,7 @@ let nixos-unstable = (import {}); flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; hyprland_nightly = (import flake-compat { - src = builtins.fetchGit { - ref = "main"; - url = "https://github.com/hyprwm/Hyprland.git"; - submodules = true; - }; + src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/main.tar.gz"; }).defaultNix; in { # Trusted Hyprland cache, as to not have to rebuild nightly @@ -21,14 +17,39 @@ in { # Or else swaylock will not accept correct password 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 = { hyprland = { # Dynamic tiling window manager 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 = { @@ -41,24 +62,27 @@ in { serviceConfig.Restart = "always"; 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; [ + adwaita-icon-theme + adwaita-qt blueman # Bluetooth manager dunst # Notification daemon firefox # My browser of choice foot # Wayland native terminal fuzzel # Fuzzy finding menuing program + glib + gnome-themes-extra gobble # Wayland alternative to devour grimblast # Allows freezing screen grim # Screenshot tool @@ -66,22 +90,21 @@ in { hypridle # Do commands upon user idle hyprland-autoname-workspaces # Add icons to workspace titles hyprlock # Screen locking utility - hyprpaper hyprpicker # Colorpicker utility - kanshi # Autorandr substitute + hyprsunset # Bluelight filter libnotify # Send messages to notification daemon libreoffice # MSOffice btfo # networkmanagerapplet # Wifi dropdown menu networkmanager_dmenu # Manage wifi with dmenu nsxiv # Image viewer nwg-displays + pcmanfm # Graphical file manager pinentry-rofi # Rofi frontend for pinentry program - pyprland # Plugin manager for Hyprland + quickshell # Use QT to create widgets rofi # Menu prompt program rofi-pass # Rofi frontend for password store - sassc # SCSS interpreter slurp # Screen selection utility - st + st # Suckless Simple Terminal swaylock # Wayland session locker swww # Sets background images texlive.combined.scheme-full # LaTeX to create documents @@ -93,39 +116,47 @@ in { wdisplays # Arnadr substitute wl-clipboard # Copy/paste utility wlr-randr # Xrandr substitute - xwaylandvideobridge # Allows screensharing from XWayland programs xorg.xcursorthemes 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 lxappearance-gtk2 # Theme switcher gruvbox-dark-gtk + + # Custom packages + extra-icons ]; nixpkgs.overlays = [ (final: prev: { hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces; - waybar = nixos-unstable.waybar; typst = nixos-unstable.typst; - # typst = (import flake-compat { - # src = builtins.fetchGit { - # url = "https://github.com/typst/typst.git"; - # }; - # }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default; + swww = nixos-unstable.swww; zen-browser = (import flake-compat { src = builtins.fetchGit { url = "https://github.com/0xc000022070/zen-browser-flake.git"; }; }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default; - st = prev.st.overrideAttrs (o: { - src = /home/vince/.config/st; - buildInputs = o.buildInputs ++ (with pkgs; [ - # Extra libraries needed to build patches - harfbuzz - imlib2 - ]); - }); + st = prev.callPackage /home/vince/.config/st/default.nix {}; + extra-icons = prev.callPackage ../../derivations/extra-icons {}; + # quickshell = (nixos-unstable.callPackage "${builtins.fetchGit { + # url = "https://git.outfoxxed.me/outfoxxed/quickshell.git"; + # ref = "master"; + # }}/" {}).overrideAttrs (oa: { + # buildInputs = (oa.buildInputs or []) ++ [ nixos-unstable.qt6.qt5compat ]; + # }); + quickshell = nixos-unstable.quickshell.overrideAttrs(oa: { + buildInputs = (oa.buildInputs or []) ++ [ nixos-unstable.qt6.qt5compat ]; + }); }) ]; } diff --git a/quickshell/.config/quickshell/Globals.qml b/quickshell/.config/quickshell/Globals.qml deleted file mode 100644 index 8c4a5af..0000000 --- a/quickshell/.config/quickshell/Globals.qml +++ /dev/null @@ -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() - } -} diff --git a/quickshell/.config/quickshell/Theme.qml b/quickshell/.config/quickshell/Theme.qml new file mode 100644 index 0000000..9e5f2d3 --- /dev/null +++ b/quickshell/.config/quickshell/Theme.qml @@ -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 + } +} + diff --git a/quickshell/.config/quickshell/bar/Bar.qml b/quickshell/.config/quickshell/bar/Bar.qml index 48a2bfa..6d45b46 100644 --- a/quickshell/.config/quickshell/bar/Bar.qml +++ b/quickshell/.config/quickshell/bar/Bar.qml @@ -1,49 +1,98 @@ import Quickshell import Quickshell.Io +import Quickshell.Hyprland import QtQuick import QtQuick.Layouts import "blocks" as Blocks +import "root:/" Scope { Variants { model: Quickshell.screens PanelWindow { + id: bar property var modelData screen: modelData - color: "#cc000000" - height: 27 + color: Theme.get.barBgColor + + Rectangle { + id: highlight + anchors.fill: parent + gradient: Theme.get.barGradient + } + + height: 30 + + visible: true + + IpcHandler { + target: "bar" + + function toggleVis(): void { + visible = !visible; + } + } anchors { - top: true + top: Theme.get.onTop + bottom: !Theme.get.onTop left: true right: true } RowLayout { + id: allBlocks spacing: 0 - width: parent.width - height: parent.height + anchors.fill: parent // Left side RowLayout { - spacing: 0 + id: leftBlocks + spacing: 10 Layout.alignment: Qt.AlignLeft + Layout.fillWidth: true Blocks.Icon {} 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 RowLayout { + id: rightBlocks spacing: 0 Layout.alignment: Qt.AlignRight + Layout.fillWidth: true Blocks.SystemTray {} - Blocks.Test {} - Blocks.Notifications {} Blocks.Memory {} Blocks.Sound {} Blocks.Battery {} diff --git a/quickshell/.config/quickshell/bar/BarBlock.qml b/quickshell/.config/quickshell/bar/BarBlock.qml index 9daf98a..edd4aca 100644 --- a/quickshell/.config/quickshell/bar/BarBlock.qml +++ b/quickshell/.config/quickshell/bar/BarBlock.qml @@ -4,8 +4,11 @@ import Quickshell Rectangle { id: root - Layout.preferredWidth: wsText.implicitWidth + 10 - Layout.preferredHeight: 27 + Layout.preferredWidth: contentContainer.implicitWidth + 10 + Layout.preferredHeight: 30 + + property Item content + property Item mouseArea: mouseArea property string text property bool dim: false @@ -14,9 +17,7 @@ Rectangle { property int leftPadding property int rightPadding - property string fgColor: "white" - property string dimFgColor: "#999999" - property string hoveredBgColor: "#444444" + property string hoveredBgColor: "#666666" // Background color color: { @@ -40,28 +41,13 @@ Rectangle { } } - BarText { - id: wsText - text: root.text - anchors { - left: parent.left - right: parent.right - leftMargin: root.leftPadding - rightMargin: root.rightPadding - verticalCenter: parent.verticalCenter - } - - color: { - if (mouseArea.containsMouse || !root.dim) - return fgColor - return dimFgColor - } - - Behavior on color { - ColorAnimation { - duration: 100 - } - } + Item { + // Contents of the bar block + id: contentContainer + implicitWidth: content.implicitWidth + implicitHeight: content.implicitHeight + anchors.centerIn: parent + children: content } MouseArea { @@ -76,11 +62,11 @@ Rectangle { Rectangle { id: wsLine width: parent.width - height: 3 + height: 2 color: { if (parent.underline) - return fgColor; + return "white"; return "transparent"; } anchors.bottom: parent.bottom diff --git a/quickshell/.config/quickshell/bar/BarText.qml b/quickshell/.config/quickshell/bar/BarText.qml index 25e2299..3b40767 100644 --- a/quickshell/.config/quickshell/bar/BarText.qml +++ b/quickshell/.config/quickshell/bar/BarText.qml @@ -1,39 +1,57 @@ import Quickshell import Quickshell.Io +import Quickshell.Widgets import QtQuick +import QtQuick.Layouts +import QtQuick.Effects +import Qt5Compat.GraphicalEffects -Item { - property string text - property string color: "white" +Text { property string mainFont: "FiraCode" 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 - implicitHeight: thetext.implicitHeight + Text { + 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) { + if (!text) + return "" + const isSymbol = (codePoint) => (codePoint >= 0xE000 && codePoint <= 0xF8FF) // Private Use Area || (codePoint >= 0xF0000 && codePoint <= 0xFFFFF) // Supplementary Private Use Area-A || (codePoint >= 0x100000 && codePoint <= 0x10FFFF); // Supplementary Private Use Area-B return text.replace(/./gu, (c) => isSymbol(c.codePointAt(0)) - ? `${c}` + ? `${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 - } } diff --git a/quickshell/.config/quickshell/bar/blocks/ActiveWorkspace.qml b/quickshell/.config/quickshell/bar/blocks/ActiveWorkspace.qml index 22091f5..7969212 100644 --- a/quickshell/.config/quickshell/bar/blocks/ActiveWorkspace.qml +++ b/quickshell/.config/quickshell/bar/blocks/ActiveWorkspace.qml @@ -1,15 +1,16 @@ import QtQuick +import QtQuick.Layouts import Quickshell.Io import Quickshell.Hyprland import "../" BarText { - text: { - var str = activeWindowTitle - return str.length > chopLength ? str.slice(0, chopLength) + '...' : str; - } + // text: { + // var str = activeWindowTitle + // return str.length > chopLength ? str.slice(0, chopLength) + '...' : str; + // } - property int chopLength: 70 + property int chopLength property string activeWindowTitle Process { diff --git a/quickshell/.config/quickshell/bar/blocks/Battery.qml b/quickshell/.config/quickshell/bar/blocks/Battery.qml index 10be0e0..a8d4ccc 100644 --- a/quickshell/.config/quickshell/bar/blocks/Battery.qml +++ b/quickshell/.config/quickshell/bar/blocks/Battery.qml @@ -4,7 +4,9 @@ import "../" BarBlock { property string battery - text: battery + content: BarText { + symbolText: battery + } Process { id: batteryProc diff --git a/quickshell/.config/quickshell/bar/blocks/Date.qml b/quickshell/.config/quickshell/bar/blocks/Date.qml index 8b94919..11ce193 100644 --- a/quickshell/.config/quickshell/bar/blocks/Date.qml +++ b/quickshell/.config/quickshell/bar/blocks/Date.qml @@ -3,6 +3,8 @@ import "../" BarBlock { id: text - text: ` ${Datetime.date}` + content: BarText { + symbolText: ` ${Datetime.date}` + } } diff --git a/quickshell/.config/quickshell/bar/blocks/Icon.qml b/quickshell/.config/quickshell/bar/blocks/Icon.qml index 217e40c..bc62c67 100644 --- a/quickshell/.config/quickshell/bar/blocks/Icon.qml +++ b/quickshell/.config/quickshell/bar/blocks/Icon.qml @@ -1,11 +1,66 @@ import QtQuick import QtQuick.Layouts import Quickshell +import Quickshell.Io +import Quickshell.Widgets +import Qt5Compat.GraphicalEffects import "../" +import "root:/" BarBlock { - Layout.preferredWidth: 30 - rightPadding: 5 - text: "" + id: root + Layout.preferredWidth: 40 + + content: BarText { + 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 + } } diff --git a/quickshell/.config/quickshell/bar/blocks/Memory.qml b/quickshell/.config/quickshell/bar/blocks/Memory.qml index 26900c0..d274325 100644 --- a/quickshell/.config/quickshell/bar/blocks/Memory.qml +++ b/quickshell/.config/quickshell/bar/blocks/Memory.qml @@ -6,7 +6,9 @@ import "../" BarBlock { id: text - text: ` ${Math.floor(percentFree)}%` + content: BarText { + symbolText: ` ${Math.floor(percentFree)}%` + } property real percentFree diff --git a/quickshell/.config/quickshell/bar/blocks/Sound.qml b/quickshell/.config/quickshell/bar/blocks/Sound.qml index 0553162..7486408 100644 --- a/quickshell/.config/quickshell/bar/blocks/Sound.qml +++ b/quickshell/.config/quickshell/bar/blocks/Sound.qml @@ -7,9 +7,15 @@ import "../" BarBlock { id: text - text: ` ${Math.floor(sink?.audio.volume * 100)}%` + visible: Pipewire.ready + + content: BarText { + symbolText: ` ${volume}` + } property PwNode sink: Pipewire.defaultAudioSink + property string volume: Pipewire.ready ? `${Math.floor(sink.audio.volume * 100)}%` : "" + PwObjectTracker { objects: [ sink ] } } diff --git a/quickshell/.config/quickshell/bar/blocks/SystemTray.qml b/quickshell/.config/quickshell/bar/blocks/SystemTray.qml index 12818f1..15c4691 100644 --- a/quickshell/.config/quickshell/bar/blocks/SystemTray.qml +++ b/quickshell/.config/quickshell/bar/blocks/SystemTray.qml @@ -4,13 +4,20 @@ import QtQuick.Layouts import Quickshell import Quickshell.Widgets import Quickshell.Services.SystemTray -import "../" as Bar +import "root:/bar" RowLayout { spacing: 5 Repeater { - model: SystemTray.items + model: ScriptModel { + values: {[...SystemTray.items.values] + .filter((item) => { + return (item.id != "spotify-client" + && item.id != "chrome_status_icon_1") + }) + } + } MouseArea { id: delegate @@ -43,7 +50,6 @@ RowLayout { id: icon anchors.centerIn: parent source: item.icon - implicitSize: 16 } @@ -62,7 +68,7 @@ RowLayout { } } - Bar.Tooltip { + Tooltip { relativeItem: delegate.containsMouse ? delegate : null Label { diff --git a/quickshell/.config/quickshell/bar/blocks/Time.qml b/quickshell/.config/quickshell/bar/blocks/Time.qml index 770403d..5650fcb 100644 --- a/quickshell/.config/quickshell/bar/blocks/Time.qml +++ b/quickshell/.config/quickshell/bar/blocks/Time.qml @@ -3,6 +3,8 @@ import "../" BarBlock { id: text - text: ` ${Datetime.time}` + content: BarText { + symbolText: ` ${Datetime.time}` + } } diff --git a/quickshell/.config/quickshell/bar/blocks/Workspaces.qml b/quickshell/.config/quickshell/bar/blocks/Workspaces.qml index 5d32c48..37a2e71 100644 --- a/quickshell/.config/quickshell/bar/blocks/Workspaces.qml +++ b/quickshell/.config/quickshell/bar/blocks/Workspaces.qml @@ -2,6 +2,8 @@ import QtQuick import QtQuick.Layouts import Quickshell import Quickshell.Hyprland +import Quickshell.Widgets +import Qt5Compat.GraphicalEffects import "root:/" import "../" @@ -43,21 +45,224 @@ RowLayout { property bool hasClients: ws.name.length > 2 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() { Hyprland.dispatch(`workspace ${ws.id}`); } - leftPadding: hasClients ? 2 : 0 - text: { - if (isActive) { - if (!hasClients) - return `${ws.name}` - var split_i = ws.id > 9 ? 3 : 2 - return `${ws.name.slice(0, split_i)}${ws.name.slice(split_i)}` + + content: RowLayout { + spacing: 0 + anchors.centerIn: parent + + Repeater { + id: therepeater + model: ScriptModel { + values: getChunks(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" + } + } + } + } + } } - return ws.name } } } + + 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", + } } diff --git a/quickshell/.config/quickshell/bar/images/blue.png b/quickshell/.config/quickshell/bar/images/blue.png new file mode 100644 index 0000000..46fff43 Binary files /dev/null and b/quickshell/.config/quickshell/bar/images/blue.png differ diff --git a/quickshell/.config/quickshell/bar/images/dark_blue.png b/quickshell/.config/quickshell/bar/images/dark_blue.png new file mode 100644 index 0000000..387c175 Binary files /dev/null and b/quickshell/.config/quickshell/bar/images/dark_blue.png differ diff --git a/quickshell/.config/quickshell/bar/images/green.png b/quickshell/.config/quickshell/bar/images/green.png new file mode 100644 index 0000000..ac3b389 Binary files /dev/null and b/quickshell/.config/quickshell/bar/images/green.png differ diff --git a/quickshell/.config/quickshell/bar/images/green.xcf b/quickshell/.config/quickshell/bar/images/green.xcf new file mode 100644 index 0000000..892f81b Binary files /dev/null and b/quickshell/.config/quickshell/bar/images/green.xcf differ diff --git a/quickshell/.config/quickshell/bar/images/orange.png b/quickshell/.config/quickshell/bar/images/orange.png new file mode 100644 index 0000000..dc523c2 Binary files /dev/null and b/quickshell/.config/quickshell/bar/images/orange.png differ diff --git a/quickshell/.config/quickshell/shell.qml b/quickshell/.config/quickshell/shell.qml index 6d8d8da..3079f29 100644 --- a/quickshell/.config/quickshell/shell.qml +++ b/quickshell/.config/quickshell/shell.qml @@ -1,8 +1,8 @@ //@ pragma UseQApplication import Quickshell -import "bar" as Bar +import "bar" ShellRoot { - Bar.Bar {} + Bar {} }