From a8b0acd4dbe129d7887109d723a0a45c6af09620 Mon Sep 17 00:00:00 2001
From: Von Random <von@mechanus.net>
Date: Thu, 2 Jan 2025 17:33:13 +0200
Subject: [PATCH] switch to chezmoi

---
 .gitignore                                    |   5 -
 README.md                                     |   2 +-
 cli/.config/fish/conf.d/prompt.fish           |  10 -
 cli/.config/fish/config.fish                  |  22 --
 .../fish/functions/fish_prompt.add.fish       |  14 --
 .../fish/functions/fish_prompt.add.pl.fish    |  14 --
 .../fish/functions/fish_prompt.bang.fish      |   7 -
 .../fish/functions/fish_prompt.emoji.fish     |   4 -
 cli/.config/fish/functions/fish_prompt.fish   |  14 --
 .../fish/functions/fish_prompt.git.fish       |  21 --
 .../fish/functions/fish_prompt.kube.fish      |   8 -
 .../fish/functions/fish_prompt.user.fish      |   5 -
 cli/.config/fish/functions/ls.fish            |   3 -
 cli/.bashrc => dot_bashrc                     |   0
 .../alacritty/alacritty.toml                  |   0
 {cli/.config => dot_config}/bat/config        |   0
 {lnx/.config => dot_config}/foot/foot.ini     |   0
 {gui/.config => dot_config}/ghostty/config    |   2 +-
 {cli/.config => dot_config}/helix/config.toml |   0
 .../helix/languages.toml                      |   0
 .../helix/themes/gruvbox_custom.toml          |   0
 .../i3status-rust/config.toml                 |   0
 {gui/.config => dot_config}/kitty/kitty.conf  |   0
 {cli/.config => dot_config}/nvim/init.lua     |   0
 {cli/.config => dot_config}/nvim/lua/maps.lua |   0
 .../nvim/lua/plugins.lua                      |   0
 .../nvim/lua/settings.lua                     |   0
 .../private_fish}/conf.d/globals.fish         |   0
 .../private_fish}/functions/atmux.fish        |   0
 .../private_fish}/functions/diff.fish         |   0
 .../private_fish}/functions/g.fish            |   0
 .../private_fish}/functions/gci.fish          |   0
 .../private_fish}/functions/grep.fish         |   0
 .../private_fish}/functions/greset.fish       |   0
 .../private_fish}/functions/groot.fish        |   0
 .../private_fish}/functions/gsi.fish          |   0
 .../private_fish}/functions/gsl.fish          |   0
 .../private_fish}/functions/gss.fish          |   0
 .../private_fish}/functions/gsw.fish          |   0
 .../private_fish}/functions/gup.fish          |   0
 .../private_fish}/functions/gwta.fish         |   0
 .../private_fish}/functions/gwtp.fish         |   0
 .../private_fish}/functions/k.fish            |   0
 .../private_fish}/functions/kc.fish           |   0
 .../private_fish}/functions/kg.fish           |   0
 .../private_fish}/functions/kshell.fish       |   0
 .../private_fish}/functions/ksw.fish          |   0
 .../private_fish}/functions/ll.fish           |   0
 dot_config/private_fish/functions/ls.fish     |   3 +
 .../private_fish}/functions/rgrep.fish        |   0
 .../private_fish}/functions/s.fish            |   0
 .../private_fish}/functions/tailf.fish        |   0
 .../private_fish}/functions/termcompat.fish   |   0
 .../private_fish}/functions/tig.fish          |   0
 .../private_fish}/functions/tmux.fish         |   0
 .../private_fish}/functions/whence.fish       |   0
 dot_config/starship.toml                      |  22 ++
 {lnx/.config => dot_config}/sway/config       |   0
 .../wezterm/functions.lua                     |   0
 .../wezterm/keybinds.lua                      |   0
 .../wezterm/overrides.lua                     |   0
 .../wezterm/wezterm.lua                       |   0
 {cli/.config => dot_config}/zsh/functions.zsh |   0
 {cli/.config => dot_config}/zsh/prompt.zsh    |   0
 {cli/.config => dot_config}/zsh/settings.zsh  |   0
 cli/.inputrc => dot_inputrc                   |   0
 cli/.nanorc => dot_nanorc                     |   0
 cli/.screenrc => dot_screenrc                 |   0
 cli/.tigrc => dot_tigrc                       |   0
 cli/.tmux.conf => dot_tmux.conf               |   0
 cli/.vimplugrc => dot_vimplugrc               |   0
 cli/.vimrc => dot_vimrc                       |   0
 cli/.zshrc => dot_zshrc                       |   0
 lnx/.Xresources                               | 148 -------------
 lnx/.config/i3/config                         | 197 ------------------
 lnx/.dunstrc                                  |  57 -----
 76 files changed, 27 insertions(+), 531 deletions(-)
 delete mode 100644 .gitignore
 delete mode 100644 cli/.config/fish/conf.d/prompt.fish
 delete mode 100644 cli/.config/fish/config.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.add.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.add.pl.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.bang.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.emoji.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.git.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.kube.fish
 delete mode 100644 cli/.config/fish/functions/fish_prompt.user.fish
 delete mode 100644 cli/.config/fish/functions/ls.fish
 rename cli/.bashrc => dot_bashrc (100%)
 rename {gui/.config => dot_config}/alacritty/alacritty.toml (100%)
 rename {cli/.config => dot_config}/bat/config (100%)
 rename {lnx/.config => dot_config}/foot/foot.ini (100%)
 rename {gui/.config => dot_config}/ghostty/config (97%)
 rename {cli/.config => dot_config}/helix/config.toml (100%)
 rename {cli/.config => dot_config}/helix/languages.toml (100%)
 rename {cli/.config => dot_config}/helix/themes/gruvbox_custom.toml (100%)
 rename {lnx/.config => dot_config}/i3status-rust/config.toml (100%)
 rename {gui/.config => dot_config}/kitty/kitty.conf (100%)
 rename {cli/.config => dot_config}/nvim/init.lua (100%)
 rename {cli/.config => dot_config}/nvim/lua/maps.lua (100%)
 rename {cli/.config => dot_config}/nvim/lua/plugins.lua (100%)
 rename {cli/.config => dot_config}/nvim/lua/settings.lua (100%)
 rename {cli/.config/fish => dot_config/private_fish}/conf.d/globals.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/atmux.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/diff.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/g.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gci.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/grep.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/greset.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/groot.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gsi.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gsl.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gss.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gsw.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gup.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gwta.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/gwtp.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/k.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/kc.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/kg.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/kshell.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/ksw.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/ll.fish (100%)
 create mode 100644 dot_config/private_fish/functions/ls.fish
 rename {cli/.config/fish => dot_config/private_fish}/functions/rgrep.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/s.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/tailf.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/termcompat.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/tig.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/tmux.fish (100%)
 rename {cli/.config/fish => dot_config/private_fish}/functions/whence.fish (100%)
 create mode 100644 dot_config/starship.toml
 rename {lnx/.config => dot_config}/sway/config (100%)
 rename {gui/.config => dot_config}/wezterm/functions.lua (100%)
 rename {gui/.config => dot_config}/wezterm/keybinds.lua (100%)
 rename {gui/.config => dot_config}/wezterm/overrides.lua (100%)
 rename {gui/.config => dot_config}/wezterm/wezterm.lua (100%)
 rename {cli/.config => dot_config}/zsh/functions.zsh (100%)
 rename {cli/.config => dot_config}/zsh/prompt.zsh (100%)
 rename {cli/.config => dot_config}/zsh/settings.zsh (100%)
 rename cli/.inputrc => dot_inputrc (100%)
 rename cli/.nanorc => dot_nanorc (100%)
 rename cli/.screenrc => dot_screenrc (100%)
 rename cli/.tigrc => dot_tigrc (100%)
 rename cli/.tmux.conf => dot_tmux.conf (100%)
 rename cli/.vimplugrc => dot_vimplugrc (100%)
 rename cli/.vimrc => dot_vimrc (100%)
 rename cli/.zshrc => dot_zshrc (100%)
 delete mode 100644 lnx/.Xresources
 delete mode 100644 lnx/.config/i3/config
 delete mode 100644 lnx/.dunstrc

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 342f63f..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-cli/.config/zsh/env.zsh
-cli/.config/zsh/local.zsh
-cli/.config/fish/conf.d/local.fish
-cli/.config/fish/fish_variables
-cli/.config/nvim/lazy-lock.json
diff --git a/README.md b/README.md
index b8c946e..3753b9c 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
 vdotfiles
 =========
 
-stow is cool
+chezmoi is cooler
diff --git a/cli/.config/fish/conf.d/prompt.fish b/cli/.config/fish/conf.d/prompt.fish
deleted file mode 100644
index 50a5b5d..0000000
--- a/cli/.config/fish/conf.d/prompt.fish
+++ /dev/null
@@ -1,10 +0,0 @@
-set bang_symbol \u276f
-set kube_symbol \u2388
-set kube_config "$HOME/.kube/config"
-set git_symbol  \ue0a0
-set color_git_branch brblack
-
-# git symbols and colors
-# [1] unstaged, [2] staged, [3] untracked, [4] conflicts
-set git_status \~ + ! \*
-set color_git  yellow blue red purple
diff --git a/cli/.config/fish/config.fish b/cli/.config/fish/config.fish
deleted file mode 100644
index 9236b23..0000000
--- a/cli/.config/fish/config.fish
+++ /dev/null
@@ -1,22 +0,0 @@
-if status is-interactive
-    function postexec --on-event fish_postexec
-        set -l ret $status
-        if test $ret -ne 0
-            printf '\e[31m>>\e[39m exit \e[31m%s\e[39m\n' $ret
-        end
-    end
-
-    if command -q grc
-        set -l grc_cmds \
-            iptables ipneighbor ipaddr iproute ip nmap netstat \
-            traceroute tcpdump ss ping \
-            dockerversion dockersearch dockerpull dockerps dockernetwork \
-            docker-machinels dockerinfo dockerimages \
-            lspci lsof lsmod lsblk lsattr getfacl id whois vmstat ulimit \
-            systemctl sysctl stat pv ps ping last gcc free findmnt fdisk env du \
-            dig diff df blkid
-        for cmd in $grc_cmds
-            command -q $cmd && alias $cmd="command grc -es --colour=auto $cmd"
-        end
-    end
-end
diff --git a/cli/.config/fish/functions/fish_prompt.add.fish b/cli/.config/fish/functions/fish_prompt.add.fish
deleted file mode 100644
index 435d5ac..0000000
--- a/cli/.config/fish/functions/fish_prompt.add.fish
+++ /dev/null
@@ -1,14 +0,0 @@
-function fish_prompt.add
-    set -l text $argv[1]
-    set -l color $argv[2]
-    if test -n "$color"
-        set value (set_color $color)$text(set_color normal)
-    else
-        set value $text
-    end
-    if test -z "$prompt_string"
-        set prompt_string $value
-    else
-        set -a prompt_string $value
-    end
-end
diff --git a/cli/.config/fish/functions/fish_prompt.add.pl.fish b/cli/.config/fish/functions/fish_prompt.add.pl.fish
deleted file mode 100644
index 57a4b73..0000000
--- a/cli/.config/fish/functions/fish_prompt.add.pl.fish
+++ /dev/null
@@ -1,14 +0,0 @@
-function fish_prompt.add.pl
-    set -l color $argv[1]
-    set -l text $argv[2]
-    set -l sep ''
-    if test -n "$prompt_sep"
-        set sep (set_color $prev_color)$prompt_sep(set_color $color_fg)
-        set prev_color $color
-    end
-    if test -z "$prompt_string"
-        set prompt_string (set_color -b $color)(set_color $color_fg) $text
-    else
-        set -a prompt_string (set_color -b $color)$sep $text
-    end
-end
diff --git a/cli/.config/fish/functions/fish_prompt.bang.fish b/cli/.config/fish/functions/fish_prompt.bang.fish
deleted file mode 100644
index 40ca599..0000000
--- a/cli/.config/fish/functions/fish_prompt.bang.fish
+++ /dev/null
@@ -1,7 +0,0 @@
-function fish_prompt.bang
-    if ! string match -eq linux $TERM
-        fish_prompt.add \n$bang_symbol\  brblack
-    else
-        fish_prompt.add \n\#\  brred
-    end
-end
diff --git a/cli/.config/fish/functions/fish_prompt.emoji.fish b/cli/.config/fish/functions/fish_prompt.emoji.fish
deleted file mode 100644
index 12cd051..0000000
--- a/cli/.config/fish/functions/fish_prompt.emoji.fish
+++ /dev/null
@@ -1,4 +0,0 @@
-function fish_prompt.emoji
-    set emoji \U1f41f \U1f420 \U1f421
-    printf $emoji[(random 1 (count $emoji))]
-end
diff --git a/cli/.config/fish/functions/fish_prompt.fish b/cli/.config/fish/functions/fish_prompt.fish
deleted file mode 100644
index f375667..0000000
--- a/cli/.config/fish/functions/fish_prompt.fish
+++ /dev/null
@@ -1,14 +0,0 @@
-function fish_prompt
-    set -g prompt_string
-    set -g prev_color
-    fish_prompt.add \[ brblack
-    fish_prompt.user
-    fish_prompt.add (prompt_pwd) blue
-    fish_prompt.kube
-    fish_prompt.git
-    fish_prompt.add \] brblack
-    fish_prompt.bang
-
-    echo $prompt_string
-    set -e prompt_string
-end
diff --git a/cli/.config/fish/functions/fish_prompt.git.fish b/cli/.config/fish/functions/fish_prompt.git.fish
deleted file mode 100644
index 257c79b..0000000
--- a/cli/.config/fish/functions/fish_prompt.git.fish
+++ /dev/null
@@ -1,21 +0,0 @@
-function fish_prompt.git
-    set -l is_git_tree (git rev-parse --is-inside-work-tree 2>/dev/null)
-    string match -qe 'true' "$is_git_tree" || return
-    git status --porcelain -bu | while read line
-        if string match -qr '^##' "$line"
-            set git_branch (string match -r '[^# .]+' "$line")
-            string match -qr '\[behind' $line && set git_branch "$git_branch?"
-            string match -qr '\[ahead'  $line && set git_branch "$git_branch!"
-            fish_prompt.add "$git_symbol $git_branch"
-        else
-            string match -qr "^.[MD]"    "$line" && set git_count[1] (math $git_count[1] + 1)
-            string match -qr "^[MDARC]." "$line" && set git_count[2] (math $git_count[2] + 1)
-            string match -qr "^\?\?"     "$line" && set git_count[3] (math $git_count[3] + 1)
-            string match -qr "^[ADU]{2}" "$line" && set git_count[4] (math $git_count[4] + 1)
-        end
-    end
-    test -n "$git_count[1]" && fish_prompt.add "$git_count[1]$git_status[1]" "$color_git[1]"
-    test -n "$git_count[2]" && fish_prompt.add "$git_count[2]$git_status[2]" "$color_git[2]"
-    test -n "$git_count[3]" && fish_prompt.add "$git_count[3]$git_status[3]" "$color_git[3]"
-    test -n "$git_count[4]" && fish_prompt.add "$git_count[4]$git_status[4]" "$color_git[4]"
-end
diff --git a/cli/.config/fish/functions/fish_prompt.kube.fish b/cli/.config/fish/functions/fish_prompt.kube.fish
deleted file mode 100644
index 7b0d152..0000000
--- a/cli/.config/fish/functions/fish_prompt.kube.fish
+++ /dev/null
@@ -1,8 +0,0 @@
-function fish_prompt.kube
-    if ! test -r "$kube_config"
-        return
-    end
-    fish_prompt.add "$kube_symbol"
-    set -l kube_context (awk -F- '($1 == "current") {print $3}' "$kube_config")
-    fish_prompt.add "$kube_context" green
-end
diff --git a/cli/.config/fish/functions/fish_prompt.user.fish b/cli/.config/fish/functions/fish_prompt.user.fish
deleted file mode 100644
index 828fda3..0000000
--- a/cli/.config/fish/functions/fish_prompt.user.fish
+++ /dev/null
@@ -1,5 +0,0 @@
-function fish_prompt.user
-    if test -n "$SSH_CONNECTION" || string match -qe root "$USER"
-        fish_prompt.add $USER@$hostname brblack
-    end
-end
diff --git a/cli/.config/fish/functions/ls.fish b/cli/.config/fish/functions/ls.fish
deleted file mode 100644
index 7c353e3..0000000
--- a/cli/.config/fish/functions/ls.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function ls
-    command eza --group-directories-first $argv
-end
diff --git a/cli/.bashrc b/dot_bashrc
similarity index 100%
rename from cli/.bashrc
rename to dot_bashrc
diff --git a/gui/.config/alacritty/alacritty.toml b/dot_config/alacritty/alacritty.toml
similarity index 100%
rename from gui/.config/alacritty/alacritty.toml
rename to dot_config/alacritty/alacritty.toml
diff --git a/cli/.config/bat/config b/dot_config/bat/config
similarity index 100%
rename from cli/.config/bat/config
rename to dot_config/bat/config
diff --git a/lnx/.config/foot/foot.ini b/dot_config/foot/foot.ini
similarity index 100%
rename from lnx/.config/foot/foot.ini
rename to dot_config/foot/foot.ini
diff --git a/gui/.config/ghostty/config b/dot_config/ghostty/config
similarity index 97%
rename from gui/.config/ghostty/config
rename to dot_config/ghostty/config
index bc7f890..ab073cc 100644
--- a/gui/.config/ghostty/config
+++ b/dot_config/ghostty/config
@@ -2,7 +2,7 @@ font-family = Cascadia Mono PL
 font-feature = ss01
 font-feature = ss19
 font-feature = ss20
-font-size = 14
+font-size = 12
 
 cursor-style = block
 cursor-style-blink = false
diff --git a/cli/.config/helix/config.toml b/dot_config/helix/config.toml
similarity index 100%
rename from cli/.config/helix/config.toml
rename to dot_config/helix/config.toml
diff --git a/cli/.config/helix/languages.toml b/dot_config/helix/languages.toml
similarity index 100%
rename from cli/.config/helix/languages.toml
rename to dot_config/helix/languages.toml
diff --git a/cli/.config/helix/themes/gruvbox_custom.toml b/dot_config/helix/themes/gruvbox_custom.toml
similarity index 100%
rename from cli/.config/helix/themes/gruvbox_custom.toml
rename to dot_config/helix/themes/gruvbox_custom.toml
diff --git a/lnx/.config/i3status-rust/config.toml b/dot_config/i3status-rust/config.toml
similarity index 100%
rename from lnx/.config/i3status-rust/config.toml
rename to dot_config/i3status-rust/config.toml
diff --git a/gui/.config/kitty/kitty.conf b/dot_config/kitty/kitty.conf
similarity index 100%
rename from gui/.config/kitty/kitty.conf
rename to dot_config/kitty/kitty.conf
diff --git a/cli/.config/nvim/init.lua b/dot_config/nvim/init.lua
similarity index 100%
rename from cli/.config/nvim/init.lua
rename to dot_config/nvim/init.lua
diff --git a/cli/.config/nvim/lua/maps.lua b/dot_config/nvim/lua/maps.lua
similarity index 100%
rename from cli/.config/nvim/lua/maps.lua
rename to dot_config/nvim/lua/maps.lua
diff --git a/cli/.config/nvim/lua/plugins.lua b/dot_config/nvim/lua/plugins.lua
similarity index 100%
rename from cli/.config/nvim/lua/plugins.lua
rename to dot_config/nvim/lua/plugins.lua
diff --git a/cli/.config/nvim/lua/settings.lua b/dot_config/nvim/lua/settings.lua
similarity index 100%
rename from cli/.config/nvim/lua/settings.lua
rename to dot_config/nvim/lua/settings.lua
diff --git a/cli/.config/fish/conf.d/globals.fish b/dot_config/private_fish/conf.d/globals.fish
similarity index 100%
rename from cli/.config/fish/conf.d/globals.fish
rename to dot_config/private_fish/conf.d/globals.fish
diff --git a/cli/.config/fish/functions/atmux.fish b/dot_config/private_fish/functions/atmux.fish
similarity index 100%
rename from cli/.config/fish/functions/atmux.fish
rename to dot_config/private_fish/functions/atmux.fish
diff --git a/cli/.config/fish/functions/diff.fish b/dot_config/private_fish/functions/diff.fish
similarity index 100%
rename from cli/.config/fish/functions/diff.fish
rename to dot_config/private_fish/functions/diff.fish
diff --git a/cli/.config/fish/functions/g.fish b/dot_config/private_fish/functions/g.fish
similarity index 100%
rename from cli/.config/fish/functions/g.fish
rename to dot_config/private_fish/functions/g.fish
diff --git a/cli/.config/fish/functions/gci.fish b/dot_config/private_fish/functions/gci.fish
similarity index 100%
rename from cli/.config/fish/functions/gci.fish
rename to dot_config/private_fish/functions/gci.fish
diff --git a/cli/.config/fish/functions/grep.fish b/dot_config/private_fish/functions/grep.fish
similarity index 100%
rename from cli/.config/fish/functions/grep.fish
rename to dot_config/private_fish/functions/grep.fish
diff --git a/cli/.config/fish/functions/greset.fish b/dot_config/private_fish/functions/greset.fish
similarity index 100%
rename from cli/.config/fish/functions/greset.fish
rename to dot_config/private_fish/functions/greset.fish
diff --git a/cli/.config/fish/functions/groot.fish b/dot_config/private_fish/functions/groot.fish
similarity index 100%
rename from cli/.config/fish/functions/groot.fish
rename to dot_config/private_fish/functions/groot.fish
diff --git a/cli/.config/fish/functions/gsi.fish b/dot_config/private_fish/functions/gsi.fish
similarity index 100%
rename from cli/.config/fish/functions/gsi.fish
rename to dot_config/private_fish/functions/gsi.fish
diff --git a/cli/.config/fish/functions/gsl.fish b/dot_config/private_fish/functions/gsl.fish
similarity index 100%
rename from cli/.config/fish/functions/gsl.fish
rename to dot_config/private_fish/functions/gsl.fish
diff --git a/cli/.config/fish/functions/gss.fish b/dot_config/private_fish/functions/gss.fish
similarity index 100%
rename from cli/.config/fish/functions/gss.fish
rename to dot_config/private_fish/functions/gss.fish
diff --git a/cli/.config/fish/functions/gsw.fish b/dot_config/private_fish/functions/gsw.fish
similarity index 100%
rename from cli/.config/fish/functions/gsw.fish
rename to dot_config/private_fish/functions/gsw.fish
diff --git a/cli/.config/fish/functions/gup.fish b/dot_config/private_fish/functions/gup.fish
similarity index 100%
rename from cli/.config/fish/functions/gup.fish
rename to dot_config/private_fish/functions/gup.fish
diff --git a/cli/.config/fish/functions/gwta.fish b/dot_config/private_fish/functions/gwta.fish
similarity index 100%
rename from cli/.config/fish/functions/gwta.fish
rename to dot_config/private_fish/functions/gwta.fish
diff --git a/cli/.config/fish/functions/gwtp.fish b/dot_config/private_fish/functions/gwtp.fish
similarity index 100%
rename from cli/.config/fish/functions/gwtp.fish
rename to dot_config/private_fish/functions/gwtp.fish
diff --git a/cli/.config/fish/functions/k.fish b/dot_config/private_fish/functions/k.fish
similarity index 100%
rename from cli/.config/fish/functions/k.fish
rename to dot_config/private_fish/functions/k.fish
diff --git a/cli/.config/fish/functions/kc.fish b/dot_config/private_fish/functions/kc.fish
similarity index 100%
rename from cli/.config/fish/functions/kc.fish
rename to dot_config/private_fish/functions/kc.fish
diff --git a/cli/.config/fish/functions/kg.fish b/dot_config/private_fish/functions/kg.fish
similarity index 100%
rename from cli/.config/fish/functions/kg.fish
rename to dot_config/private_fish/functions/kg.fish
diff --git a/cli/.config/fish/functions/kshell.fish b/dot_config/private_fish/functions/kshell.fish
similarity index 100%
rename from cli/.config/fish/functions/kshell.fish
rename to dot_config/private_fish/functions/kshell.fish
diff --git a/cli/.config/fish/functions/ksw.fish b/dot_config/private_fish/functions/ksw.fish
similarity index 100%
rename from cli/.config/fish/functions/ksw.fish
rename to dot_config/private_fish/functions/ksw.fish
diff --git a/cli/.config/fish/functions/ll.fish b/dot_config/private_fish/functions/ll.fish
similarity index 100%
rename from cli/.config/fish/functions/ll.fish
rename to dot_config/private_fish/functions/ll.fish
diff --git a/dot_config/private_fish/functions/ls.fish b/dot_config/private_fish/functions/ls.fish
new file mode 100644
index 0000000..e1a5627
--- /dev/null
+++ b/dot_config/private_fish/functions/ls.fish
@@ -0,0 +1,3 @@
+function ls
+    command eza --group-directories-first --icons $argv
+end
diff --git a/cli/.config/fish/functions/rgrep.fish b/dot_config/private_fish/functions/rgrep.fish
similarity index 100%
rename from cli/.config/fish/functions/rgrep.fish
rename to dot_config/private_fish/functions/rgrep.fish
diff --git a/cli/.config/fish/functions/s.fish b/dot_config/private_fish/functions/s.fish
similarity index 100%
rename from cli/.config/fish/functions/s.fish
rename to dot_config/private_fish/functions/s.fish
diff --git a/cli/.config/fish/functions/tailf.fish b/dot_config/private_fish/functions/tailf.fish
similarity index 100%
rename from cli/.config/fish/functions/tailf.fish
rename to dot_config/private_fish/functions/tailf.fish
diff --git a/cli/.config/fish/functions/termcompat.fish b/dot_config/private_fish/functions/termcompat.fish
similarity index 100%
rename from cli/.config/fish/functions/termcompat.fish
rename to dot_config/private_fish/functions/termcompat.fish
diff --git a/cli/.config/fish/functions/tig.fish b/dot_config/private_fish/functions/tig.fish
similarity index 100%
rename from cli/.config/fish/functions/tig.fish
rename to dot_config/private_fish/functions/tig.fish
diff --git a/cli/.config/fish/functions/tmux.fish b/dot_config/private_fish/functions/tmux.fish
similarity index 100%
rename from cli/.config/fish/functions/tmux.fish
rename to dot_config/private_fish/functions/tmux.fish
diff --git a/cli/.config/fish/functions/whence.fish b/dot_config/private_fish/functions/whence.fish
similarity index 100%
rename from cli/.config/fish/functions/whence.fish
rename to dot_config/private_fish/functions/whence.fish
diff --git a/dot_config/starship.toml b/dot_config/starship.toml
new file mode 100644
index 0000000..f891b19
--- /dev/null
+++ b/dot_config/starship.toml
@@ -0,0 +1,22 @@
+format = '[\[](bright-black) $all[\]](bright-black)$character'
+add_newline = false
+
+[git_status]
+conflicted = '*'
+ahead = '↑'
+behind = '↓'
+diverged = '?'
+up_to_date = ''
+untracked = '!'
+stashed = '$'
+modified = '~'
+staged = '+'
+renamed = '→'
+deleted = '×'
+typechanged = ''
+
+[character]
+format = "\n[❯](bright-black) "
+
+[line_break]
+disabled = true
diff --git a/lnx/.config/sway/config b/dot_config/sway/config
similarity index 100%
rename from lnx/.config/sway/config
rename to dot_config/sway/config
diff --git a/gui/.config/wezterm/functions.lua b/dot_config/wezterm/functions.lua
similarity index 100%
rename from gui/.config/wezterm/functions.lua
rename to dot_config/wezterm/functions.lua
diff --git a/gui/.config/wezterm/keybinds.lua b/dot_config/wezterm/keybinds.lua
similarity index 100%
rename from gui/.config/wezterm/keybinds.lua
rename to dot_config/wezterm/keybinds.lua
diff --git a/gui/.config/wezterm/overrides.lua b/dot_config/wezterm/overrides.lua
similarity index 100%
rename from gui/.config/wezterm/overrides.lua
rename to dot_config/wezterm/overrides.lua
diff --git a/gui/.config/wezterm/wezterm.lua b/dot_config/wezterm/wezterm.lua
similarity index 100%
rename from gui/.config/wezterm/wezterm.lua
rename to dot_config/wezterm/wezterm.lua
diff --git a/cli/.config/zsh/functions.zsh b/dot_config/zsh/functions.zsh
similarity index 100%
rename from cli/.config/zsh/functions.zsh
rename to dot_config/zsh/functions.zsh
diff --git a/cli/.config/zsh/prompt.zsh b/dot_config/zsh/prompt.zsh
similarity index 100%
rename from cli/.config/zsh/prompt.zsh
rename to dot_config/zsh/prompt.zsh
diff --git a/cli/.config/zsh/settings.zsh b/dot_config/zsh/settings.zsh
similarity index 100%
rename from cli/.config/zsh/settings.zsh
rename to dot_config/zsh/settings.zsh
diff --git a/cli/.inputrc b/dot_inputrc
similarity index 100%
rename from cli/.inputrc
rename to dot_inputrc
diff --git a/cli/.nanorc b/dot_nanorc
similarity index 100%
rename from cli/.nanorc
rename to dot_nanorc
diff --git a/cli/.screenrc b/dot_screenrc
similarity index 100%
rename from cli/.screenrc
rename to dot_screenrc
diff --git a/cli/.tigrc b/dot_tigrc
similarity index 100%
rename from cli/.tigrc
rename to dot_tigrc
diff --git a/cli/.tmux.conf b/dot_tmux.conf
similarity index 100%
rename from cli/.tmux.conf
rename to dot_tmux.conf
diff --git a/cli/.vimplugrc b/dot_vimplugrc
similarity index 100%
rename from cli/.vimplugrc
rename to dot_vimplugrc
diff --git a/cli/.vimrc b/dot_vimrc
similarity index 100%
rename from cli/.vimrc
rename to dot_vimrc
diff --git a/cli/.zshrc b/dot_zshrc
similarity index 100%
rename from cli/.zshrc
rename to dot_zshrc
diff --git a/lnx/.Xresources b/lnx/.Xresources
deleted file mode 100644
index cbc84b9..0000000
--- a/lnx/.Xresources
+++ /dev/null
@@ -1,148 +0,0 @@
-! {{{ xft and cursor configuration, aliases
-Xcursor.theme:          Vanilla-DMZ
-Xft.antialias:          true
-Xft.lcdfilter:          true
-Xft.rgba:               rgb
-Xft.hinting:            true
-Xft.hintstyle:          hintslight
-Xft.dpi:                96
-
-#define FONT            xft:VascadiaMod:size=12
-
-! gruvbox
-#define COLORFG #ebdbb2
-#define COLORBG #282828
-#define COLORBD #ebdbb2
-#define COLORCR #fb4934
-
-#define COLOR0  #282828
-#define COLOR1  #cc241d
-#define COLOR2  #98971a
-#define COLOR3  #d79921
-#define COLOR4  #458588
-#define COLOR5  #b16286
-#define COLOR6  #689d6a
-#define COLOR7  #a89984
-
-#define COLOR8  #928374
-#define COLOR9  #fb4934
-#define COLOR10 #b8bb26
-#define COLOR11 #fabd2f
-#define COLOR12 #83a598
-#define COLOR13 #d3869b
-#define COLOR14 #8ec07c
-#define COLOR15 #ebdbb2
-
-! solarized light
-!#define COLORFG #657b83
-!#define COLORBG #fdf6e3
-!#define COLORBD #002b36
-!#define COLORCR #cb4b16
-!
-!#define COLOR0  #073642
-!#define COLOR1  #dc322f
-!#define COLOR2  #859900
-!#define COLOR3  #b58900
-!#define COLOR4  #268bd2
-!#define COLOR5  #d33682
-!#define COLOR6  #2aa198
-!#define COLOR7  #eee8d5
-!
-!#define COLOR8  #002b36
-!#define COLOR9  #cb4b16
-!#define COLOR10 #586e75
-!#define COLOR11 #657b83
-!#define COLOR12 #839496
-!#define COLOR13 #6c71c4
-!#define COLOR14 #93a1a1
-!#define COLOR15 #fdf6e3
-! }}}
-! {{{ urxvt
-! fonts
-URxvt.font:             FONT
-URxvt.letterSpace:      -1
-
-! misc
-URxvt.intensityStyles:  false
-URxvt.internalBorder:   1
-URxvt.iso14755:         false
-URxvt.pastableTabs:     true
-URxvt.pointerBlank:     true
-URxvt.saveLines:        10000
-URxvt.scrollBar:        false
-URxvt.secondaryScroll:  false
-URxvt.urgentOnBell:     false
-URxvt.visualBell:       false
-URxvt.cutchars:         `'"'&()*,;<=>?@[]^{|}│
-
-! perl extensions
-URxvt.perl-ext-common:  default,matcher
-URxvt.url-launcher:     /home/von/.local/bin/default-web-browser
-URxvt.matcher.button:   3
-
-! keymaps
-URxvt.keysym.C-V:     eval:paste_clipboard
-URxvt.keysym.M-v:     eval:paste_clipboard
-URxvt.keysym.C-C:     eval:selection_to_clipboard
-URxvt.keysym.M-c:     eval:selection_to_clipboard
-
-! colors
-URxvt.foreground:   COLORFG
-URxvt.colorBD:      COLORBD
-URxvt.background:   COLORBG
-URxvt.cursorColor:  COLORCR
-
-URxvt.color0:       COLOR0
-URxvt.color1:       COLOR1
-URxvt.color2:       COLOR2
-URxvt.color3:       COLOR3
-URxvt.color4:       COLOR4
-URxvt.color5:       COLOR5
-URxvt.color6:       COLOR6
-URxvt.color7:       COLOR7
-
-URxvt.color8:       COLOR8
-URxvt.color9:       COLOR9
-URxvt.color10:      COLOR10
-URxvt.color11:      COLOR11
-URxvt.color12:      COLOR12
-URxvt.color13:      COLOR13
-URxvt.color14:      COLOR14
-URxvt.color15:      COLOR15
-! }}}
-! {{{ xterm
-xterm.borderWidth:            0
-xterm.vt100.font:             TERMINUS
-xterm.vt100.colorBDMode:      true
-xterm.vt100.allowBoldFonts:   false
-xterm.vt100.boldColors:       false
-xterm.vt100.bellIsUrgent:     true
-xterm.vt100.visualBell:       false
-xterm.vt100.metaSendsEscape:  true
-xterm.vt100.fastScroll:       true
-xterm.vt100.internalBorder:   1
-
-! colors
-xterm.vt100.foreground:   COLORFG
-xterm.vt100.colorBD:      COLORBD
-xterm.vt100.background:   COLORBG
-xterm.vt100.cursorColor:  COLORCR
-
-xterm.vt100.color0:       COLOR0
-xterm.vt100.color1:       COLOR1
-xterm.vt100.color2:       COLOR2
-xterm.vt100.color3:       COLOR3
-xterm.vt100.color4:       COLOR4
-xterm.vt100.color5:       COLOR5
-xterm.vt100.color6:       COLOR6
-xterm.vt100.color7:       COLOR7
-
-xterm.vt100.color8:       COLOR8
-xterm.vt100.color9:       COLOR9
-xterm.vt100.color10:      COLOR10
-xterm.vt100.color11:      COLOR11
-xterm.vt100.color12:      COLOR12
-xterm.vt100.color13:      COLOR13
-xterm.vt100.color14:      COLOR14
-xterm.vt100.color15:      COLOR15
-! }}}
diff --git a/lnx/.config/i3/config b/lnx/.config/i3/config
deleted file mode 100644
index 0e2448f..0000000
--- a/lnx/.config/i3/config
+++ /dev/null
@@ -1,197 +0,0 @@
-# i3 config file (v4)
-#
-# Please see http://i3wm.org/docs/userguide.html for a complete reference!
-
-set $mod Mod4
-set $i3_term default-terminal-emulator
-set $font PT Sans Expert:size=11
-
-font pango:Fantasque Sans Mono 13
-#font pango:Cascadia Code PL 11
-
-# Use Mouse+$mod to drag floating windows to their wanted position
-floating_modifier $mod
-
-# start a terminal
-bindsym $mod+x exec $i3_term
-
-# kill focused window
-bindsym $mod+Shift+c kill
-
-# workaround for firefox
-bindsym Control+q exec /bin/true
-
-# screenshot
-bindsym $mod+Shift+s exec screenshot-tool
-
-# start dmenu (a program launcher)
-bindsym $mod+y exec dmenu_multicmd "$HOME/.displayrc.yaml" -i -fn "$font"
-bindsym $mod+d exec dmenu_run -p run -i -fn "$font"
-bindsym $mod+p exec dmenu_ssh "$i3_term -e tmux_ssh" -i -fn "$font"
-bindsym $mod+u exec dmenu_pass -i -fn "$font"
-
-# change focus
-bindsym $mod+h focus left
-bindsym $mod+j focus down
-bindsym $mod+k focus up
-bindsym $mod+l focus right
-
-# alternatively, you can use the cursor keys:
-bindsym $mod+Left focus left
-bindsym $mod+Down focus down
-bindsym $mod+Up focus up
-bindsym $mod+Right focus right
-
-# move focused window
-bindsym $mod+Shift+h move left
-bindsym $mod+Shift+j move down
-bindsym $mod+Shift+k move up
-bindsym $mod+Shift+l move right
-
-# alternatively, you can use the cursor keys:
-bindsym $mod+Shift+Left move left
-bindsym $mod+Shift+Down move down
-bindsym $mod+Shift+Up move up
-bindsym $mod+Shift+Right move right
-
-# split in horizontal orientation
-bindsym $mod+b split h
-
-# split in vertical orientation
-bindsym $mod+v split v
-
-# enter fullscreen mode for the focused container
-bindsym $mod+f fullscreen
-
-# change container layout (stacked, tabbed, toggle split)
-bindsym $mod+s layout stacking
-bindsym $mod+w layout tabbed
-bindsym $mod+e layout toggle split
-
-# toggle tiling / floating
-bindsym $mod+Shift+Return floating toggle
-
-# change focus between tiling / floating windows
-bindsym $mod+Return focus mode_toggle
-
-# focus the parent container
-bindsym $mod+a focus parent
-
-# focus the child container
-bindsym $mod+Shift+a focus child
-
-# move to another screen
-bindsym $mod+Shift+o move workspace to output right
-
-# switch to workspace
-bindsym $mod+1 workspace 1
-bindsym $mod+2 workspace 2
-bindsym $mod+3 workspace 3
-bindsym $mod+4 workspace 4
-bindsym $mod+5 workspace 5
-bindsym $mod+6 workspace 6
-bindsym $mod+7 workspace 7
-bindsym $mod+8 workspace 8
-bindsym $mod+9 workspace 9
-bindsym $mod+0 workspace 10
-
-bindsym $mod+o workspace back_and_forth
-
-# move focused container to workspace
-bindsym $mod+Shift+1 move container to workspace 1
-bindsym $mod+Shift+2 move container to workspace 2
-bindsym $mod+Shift+3 move container to workspace 3
-bindsym $mod+Shift+4 move container to workspace 4
-bindsym $mod+Shift+5 move container to workspace 5
-bindsym $mod+Shift+6 move container to workspace 6
-bindsym $mod+Shift+7 move container to workspace 7
-bindsym $mod+Shift+8 move container to workspace 8
-bindsym $mod+Shift+9 move container to workspace 9
-bindsym $mod+Shift+0 move container to workspace 10
-
-# reload the configuration file
-bindsym $mod+Shift+r restart
-
-# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
-bindsym $mod+Control+r restart
-
-# exit i3 (logs you out of your X session)
-bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
-
-# lock screen
-bindsym $mod+z exec "xscreensaver-command -lock"
-
-# toggle touchpad
-bindsym XF86TouchpadToggle exec "touchpad-toggle"
-bindsym XF86KbdBrightnessDown exec "keybrightness d"
-bindsym XF86KbdBrightnessUp exec "keybrightness u"
-
-# mpd keys
-bindsym XF86AudioPlay exec "mpc toggle"
-bindsym XF86AudioStop exec "mpc stop"
-bindsym XF86AudioNext exec "mpc next"
-bindsym XF86AudioPrev exec "mpc prev"
-
-# volume keys
-#bindsym XF86AudioRaiseVolume exec "ponymix increase 2"
-#bindsym XF86AudioLowerVolume exec "ponymix decrease 2"
-
-# resize window (you can also use the mouse for that)
-mode "resize" {
-    bindsym h resize shrink width 10 px or 10 ppt
-    bindsym j resize grow height 10 px or 10 ppt
-    bindsym k resize shrink height 10 px or 10 ppt
-    bindsym l resize grow width 10 px or 10 ppt
-
-    bindsym Left resize shrink width 10 px or 10 ppt
-    bindsym Down resize grow height 10 px or 10 ppt
-    bindsym Up resize shrink height 10 px or 10 ppt
-    bindsym Right resize grow width 10 px or 10 ppt
-
-    bindsym Return mode "default"
-    bindsym Escape mode "default"
-}
-
-bindsym $mod+r mode "resize"
-
-bar {
-    position top
-    status_command "i3status-rs"
-    tray_output primary
-    colors {
-        background #2c2c2c
-    }
-}
-
-workspace_layout tabbed
-
-new_window pixel 1
-new_float pixel 1
-hide_edge_borders both
-
-workspace_auto_back_and_forth yes
-force_focus_wrapping yes
-
-# software
-for_window [class="GalaxyBudsClient"] floating enable
-for_window [class="jetbrains-toolbox"] floating enable
-for_window [class="Vpnui"] floating enable
-for_window [class="Deadbeef"] floating enable
-for_window [class="mpv"] floating enable
-for_window [class="Pavucontrol"] floating enable
-for_window [class="pinentry"] floating enable
-for_window [class="Qmmp"] floating enable
-for_window [class="Vncviewer"] floating enable
-for_window [class="vlc"] floating enable
-for_window [class="X64"] floating enable
-for_window [title="^Cacti - Realtime"] floating enable
-for_window [class="java-lang-Thread"] floating enable
-for_window [class="^sun-awt"] floating enable
-# scratchpad
-for_window [class="KeePassXC"] move scratchpad, scratchpad show
-for_window [title="^vimwiki$"] move scratchpad, scratchpad show
-bindsym $mod+i [class="KeePassXC"] scratchpad show
-bindsym $mod+n [title="^vimwiki$"] scratchpad show
-
-# execs
-exec --no-startup-id "$HOME/.autostart"
diff --git a/lnx/.dunstrc b/lnx/.dunstrc
deleted file mode 100644
index 4ae2877..0000000
--- a/lnx/.dunstrc
+++ /dev/null
@@ -1,57 +0,0 @@
-[global]
-    font = Fira Sans Condensed 10
-
-    allow_markup = yes
-    format = "[%a] <b>%s</b>\n%b"
-    sort = yes
-    indicate_hidden = yes
-    alignment = right
-    bounce_freq = 0
-    show_age_threshold = 60
-    word_wrap = yes
-    ignore_newline = no
-    geometry = "600x5-30+45"
-    shrink = no
-    transparency = 0
-    idle_threshold = 120
-    monitor = 0
-    follow = mouse
-    sticky_history = yes
-    history_length = 20
-    show_indicators = no
-    line_height = 0
-    separator_height = 2
-    padding = 8
-    horizontal_padding = 8
-    separator_color = frame
-    startup_notification = false
-    dmenu = /usr/bin/dmenu -p dunst:
-    browser = /home/von/.local/bin/default-web-browser
-    icon_position = left
-    icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
-    max_icon_size = 256
-
-[frame]
-    width = 1
-    color = "#5F676A"
-
-[shortcuts]
-    close = ctrl+space
-    close_all = ctrl+shift+space
-    history = ctrl+grave
-    context = ctrl+shift+period
-
-[urgency_low]
-    background = "#222222"
-    foreground = "#cccccc"
-    timeout = 10
-
-[urgency_normal]
-    background = "#285577"
-    foreground = "#ffffff"
-    timeout = 10
-
-[urgency_critical]
-    background = "#900000"
-    foreground = "#ffffff"
-    timeout = 0