diff --git a/.config/zsh/base16-ashes.zsh b/.config/zsh/base16-ashes.zsh
deleted file mode 100644
index 3217197a..00000000
--- a/.config/zsh/base16-ashes.zsh
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/usr/bin/env sh
-# tinted-shell (https://github.com/tinted-theming/tinted-shell)
-# Scheme name: Ashes
-# Scheme author: Jannik Siebert (https://github.com/janniks)
-# Template author: Tinted Theming (https://github.com/tinted-theming)
-export BASE16_THEME=ashes
-
-color00="1c/20/23" # Base 00 - Black
-color01="c7/ae/95" # Base 08 - Red
-color02="95/c7/ae" # Base 0B - Green
-color03="ae/c7/95" # Base 0A - Yellow
-color04="ae/95/c7" # Base 0D - Blue
-color05="c7/95/ae" # Base 0E - Magenta
-color06="95/ae/c7" # Base 0C - Cyan
-color07="c7/cc/d1" # Base 05 - White
-color08="56/5e/65" # Base 03 - Bright Black
-color09="$color01" # Base 08 - Bright Red
-color10="$color02" # Base 0B - Bright Green
-color11="$color03" # Base 0A - Bright Yellow
-color12="$color04" # Base 0D - Bright Blue
-color13="$color05" # Base 0E - Bright Magenta
-color14="$color06" # Base 0C - Bright Cyan
-color15="f3/f4/f5" # Base 07 - Bright White
-color16="c7/c7/95" # Base 09
-color17="c7/95/95" # Base 0F
-color18="39/3f/45" # Base 01
-color19="56/5e/65" # Base 02
-color20="ad/b3/ba" # Base 04
-color21="df/e2/e5" # Base 06
-color_foreground="c7/cc/d1" # Base 05
-color_background="1c/20/23" # Base 00
-
-if [ -z "$TTY" ] && ! TTY=$(tty); then
- put_template() { true; }
- put_template_var() { true; }
- put_template_custom() { true; }
-elif [ -n "$TMUX" ] || [ "${TERM%%[-.]*}" = "tmux" ]; then
- # Tell tmux to pass the escape sequences through
- # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
- put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' "$@" > "$TTY"; }
- put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' "$@" > "$TTY"; }
- put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' "$@" > "$TTY"; }
-elif [ "${TERM%%[-.]*}" = "screen" ]; then
- # GNU screen (screen, screen-256color, screen-256color-bce)
- put_template() { printf '\033P\033]4;%d;rgb:%s\007\033\\' "$@" > "$TTY"; }
- put_template_var() { printf '\033P\033]%d;rgb:%s\007\033\\' "$@" > "$TTY"; }
- put_template_custom() { printf '\033P\033]%s%s\007\033\\' "$@" > "$TTY"; }
-elif [ "${TERM%%-*}" = "linux" ]; then
- put_template() { [ "$1" -lt 16 ] && printf "\e]P%x%s" "$1" "$(echo "$2" | sed 's/\///g')" > "$TTY"; }
- put_template_var() { true; }
- put_template_custom() { true; }
-else
- put_template() { printf '\033]4;%d;rgb:%s\033\\' "$@" > "$TTY"; }
- put_template_var() { printf '\033]%d;rgb:%s\033\\' "$@" > "$TTY"; }
- put_template_custom() { printf '\033]%s%s\033\\' "$@" > "$TTY"; }
-fi
-
-# 16 color space
-put_template 0 "$color00"
-put_template 1 "$color01"
-put_template 2 "$color02"
-put_template 3 "$color03"
-put_template 4 "$color04"
-put_template 5 "$color05"
-put_template 6 "$color06"
-put_template 7 "$color07"
-put_template 8 "$color08"
-put_template 9 "$color09"
-put_template 10 "$color10"
-put_template 11 "$color11"
-put_template 12 "$color12"
-put_template 13 "$color13"
-put_template 14 "$color14"
-put_template 15 "$color15"
-
-# 256 color space
-put_template 16 "$color16"
-put_template 17 "$color17"
-put_template 18 "$color18"
-put_template 19 "$color19"
-put_template 20 "$color20"
-put_template 21 "$color21"
-
-# foreground / background / cursor color
-if [ -n "$ITERM_SESSION_ID" ]; then
- # iTerm2 proprietary escape codes
- put_template_custom Pg c7ccd1 # foreground
- put_template_custom Ph 1c2023 # background
- put_template_custom Pi c7ccd1 # bold color
- put_template_custom Pj 565e65 # selection color
- put_template_custom Pk c7ccd1 # selected text color
- put_template_custom Pl c7ccd1 # cursor
- put_template_custom Pm 1c2023 # cursor text
-else
- put_template_var 10 "$color_foreground"
- if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]; then
- put_template_var 11 "$color_background"
- if [ "${TERM%%-*}" = "rxvt" ]; then
- put_template_var 708 "$color_background" # internal border (rxvt)
- fi
- fi
- put_template_custom 12 ";7" # cursor (reverse video)
-fi
-
-# clean up
-unset put_template
-unset put_template_var
-unset put_template_custom
-unset color00
-unset color01
-unset color02
-unset color03
-unset color04
-unset color05
-unset color06
-unset color07
-unset color08
-unset color09
-unset color10
-unset color11
-unset color12
-unset color13
-unset color14
-unset color15
-unset color16
-unset color17
-unset color18
-unset color19
-unset color20
-unset color21
-unset color_foreground
-unset color_background
-
-# Optionally export variables
-if [ -n "$TINTED_SHELL_ENABLE_BASE16_VARS" ] || [ -n "$BASE16_SHELL_ENABLE_VARS" ]; then
- export BASE16_COLOR_00_HEX="1c2023"
- export BASE16_COLOR_01_HEX="393f45"
- export BASE16_COLOR_02_HEX="565e65"
- export BASE16_COLOR_03_HEX="747c84"
- export BASE16_COLOR_04_HEX="adb3ba"
- export BASE16_COLOR_05_HEX="c7ccd1"
- export BASE16_COLOR_06_HEX="dfe2e5"
- export BASE16_COLOR_07_HEX="f3f4f5"
- export BASE16_COLOR_08_HEX="c7ae95"
- export BASE16_COLOR_09_HEX="c7c795"
- export BASE16_COLOR_0A_HEX="aec795"
- export BASE16_COLOR_0B_HEX="95c7ae"
- export BASE16_COLOR_0C_HEX="95aec7"
- export BASE16_COLOR_0D_HEX="ae95c7"
- export BASE16_COLOR_0E_HEX="c795ae"
- export BASE16_COLOR_0F_HEX="c79595"
-fi
diff --git a/.config/zsh/theme.zsh b/.config/zsh/theme.zsh
new file mode 100644
index 00000000..6ecd5887
--- /dev/null
+++ b/.config/zsh/theme.zsh
@@ -0,0 +1,148 @@
+#!/bin/sh
+# base16-shell (https://github.com/tinted-theming/base16-shell)
+# Scheme name: Catppuccin
+# Scheme author: Pocco81 (https://github.com/pocco81)
+# Template author: Tinted Theming (https://github.com/tinted-theming)
+export BASE16_THEME=catppuccin
+
+color00="1e/1e/28" # Base 00 - Black
+color01="f2/8f/ad" # Base 08 - Red
+color02="ab/e9/b3" # Base 0B - Green
+color03="fa/e3/b0" # Base 0A - Yellow
+color04="96/cd/fb" # Base 0D - Blue
+color05="dd/b6/f2" # Base 0E - Magenta
+color06="b5/e8/e0" # Base 0C - Cyan
+color07="d7/da/e0" # Base 05 - White
+color08="57/52/68" # Base 03 - Bright Black
+color09=$color01 # Base 08 - Bright Red
+color10=$color02 # Base 0B - Bright Green
+color11=$color03 # Base 0A - Bright Yellow
+color12=$color04 # Base 0D - Bright Blue
+color13=$color05 # Base 0E - Bright Magenta
+color14=$color06 # Base 0C - Bright Cyan
+color15="c9/cb/ff" # Base 07 - Bright White
+color16="f8/bd/96" # Base 09
+color17="f2/cd/cd" # Base 0F
+color18="1a/18/26" # Base 01
+color19="30/2d/41" # Base 02
+color20="6e/6c/7c" # Base 04
+color21="f5/e0/dc" # Base 06
+color_foreground="d7/da/e0" # Base 05
+color_background="1e/1e/28" # Base 00
+
+if [ -n "$TMUX" ]; then
+ # Tell tmux to pass the escape sequences through
+ # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
+ put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $@; }
+ put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $@; }
+ put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $@; }
+elif [ "${TERM%%[-.]*}" = "screen" ]; then
+ # GNU screen (screen, screen-256color, screen-256color-bce)
+ put_template() { printf '\033P\033]4;%d;rgb:%s\007\033\\' $@; }
+ put_template_var() { printf '\033P\033]%d;rgb:%s\007\033\\' $@; }
+ put_template_custom() { printf '\033P\033]%s%s\007\033\\' $@; }
+elif [ "${TERM%%-*}" = "linux" ]; then
+ put_template() { [ $1 -lt 16 ] && printf "\e]P%x%s" $1 $(echo $2 | sed 's/\///g'); }
+ put_template_var() { true; }
+ put_template_custom() { true; }
+else
+ put_template() { printf '\033]4;%d;rgb:%s\033\\' $@; }
+ put_template_var() { printf '\033]%d;rgb:%s\033\\' $@; }
+ put_template_custom() { printf '\033]%s%s\033\\' $@; }
+fi
+
+# 16 color space
+put_template 0 $color00
+put_template 1 $color01
+put_template 2 $color02
+put_template 3 $color03
+put_template 4 $color04
+put_template 5 $color05
+put_template 6 $color06
+put_template 7 $color07
+put_template 8 $color08
+put_template 9 $color09
+put_template 10 $color10
+put_template 11 $color11
+put_template 12 $color12
+put_template 13 $color13
+put_template 14 $color14
+put_template 15 $color15
+
+# 256 color space
+put_template 16 $color16
+put_template 17 $color17
+put_template 18 $color18
+put_template 19 $color19
+put_template 20 $color20
+put_template 21 $color21
+
+# foreground / background / cursor color
+if [ -n "$ITERM_SESSION_ID" ]; then
+ # iTerm2 proprietary escape codes
+ put_template_custom Pg d7dae0 # foreground
+ put_template_custom Ph 1e1e28 # background
+ put_template_custom Pi d7dae0 # bold color
+ put_template_custom Pj 302d41 # selection color
+ put_template_custom Pk d7dae0 # selected text color
+ put_template_custom Pl d7dae0 # cursor
+ put_template_custom Pm 1e1e28 # cursor text
+else
+ put_template_var 10 $color_foreground
+ if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]; then
+ put_template_var 11 $color_background
+ if [ "${TERM%%-*}" = "rxvt" ]; then
+ put_template_var 708 $color_background # internal border (rxvt)
+ fi
+ fi
+ put_template_custom 12 ";7" # cursor (reverse video)
+fi
+
+# clean up
+unset -f put_template
+unset -f put_template_var
+unset -f put_template_custom
+unset color00
+unset color01
+unset color02
+unset color03
+unset color04
+unset color05
+unset color06
+unset color07
+unset color08
+unset color09
+unset color10
+unset color11
+unset color12
+unset color13
+unset color14
+unset color15
+unset color16
+unset color17
+unset color18
+unset color19
+unset color20
+unset color21
+unset color_foreground
+unset color_background
+
+# Optionally export variables
+if [ -n "$BASE16_SHELL_ENABLE_VARS" ]; then
+ export BASE16_COLOR_00_HEX="1e1e28"
+ export BASE16_COLOR_01_HEX="1a1826"
+ export BASE16_COLOR_02_HEX="302d41"
+ export BASE16_COLOR_03_HEX="575268"
+ export BASE16_COLOR_04_HEX="6e6c7c"
+ export BASE16_COLOR_05_HEX="d7dae0"
+ export BASE16_COLOR_06_HEX="f5e0dc"
+ export BASE16_COLOR_07_HEX="c9cbff"
+ export BASE16_COLOR_08_HEX="f28fad"
+ export BASE16_COLOR_09_HEX="f8bd96"
+ export BASE16_COLOR_0A_HEX="fae3b0"
+ export BASE16_COLOR_0B_HEX="abe9b3"
+ export BASE16_COLOR_0C_HEX="b5e8e0"
+ export BASE16_COLOR_0D_HEX="96cdfb"
+ export BASE16_COLOR_0E_HEX="ddb6f2"
+ export BASE16_COLOR_0F_HEX="f2cdcd"
+fi