1
0
Files
dotfiles/scripts/hcf/rose_pine_switch

76 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Script to switch the alacritty theme between rose-pine and rose-pine-dawn
#
# ./rose_pine_switch
set -euo pipefail
case "$(uname -s)" in
Linux*)
sed_i() { sed -i "$@"; }
;;
Darwin*)
sed_i() { sed -i '' "$@"; }
;;
*)
echo "Unknown platform"
return 1
;;
esac
function switch_alacritty_colors() {
local config_file
config_file="$DOTFILES/alacritty/.config/alacritty/alacritty.toml"
if ! grep -q 'colors' "$config_file"; then
echo "Error, could not find import from colors directory"
return 1
fi
if grep -q 'dawn' "$config_file"; then
sed_i 's/rose-pine-dawn\.toml/rose-pine.toml/g' "$config_file"
else
sed_i 's/rose-pine\.toml/rose-pine-dawn.toml/g' "$config_file"
fi
}
function switch_tmux_colors() {
local config_file
config_file="$DOTFILES/tmux/.tmux.conf"
if ! grep -q 'rose_pine_variant' "$config_file"; then
echo "Error, could not find rose pine settings in config file"
return 1
fi
if grep -q '@rose_pine_variant '\''dawn'\''' "$config_file"; then
sed_i 's/rose_pine_variant '\''dawn'\''/rose_pine_variant '\''main'\''/g' "$config_file"
tmux source-file ~/.tmux.conf
else
sed_i 's/rose_pine_variant '\''main'\''/rose_pine_variant '\''dawn'\''/g' "$config_file"
tmux source-file ~/.tmux.conf
fi
}
function switch_k9s_colors() {
local config_file
config_file="$DOTFILES/k9s/.config/k9s/config.yaml"
if ! grep -q 'rose-pine' "$config_file"; then
echo "Error, could not find rose pine settings in config file"
return 1
fi
if grep -q 'rose-pine-dawn' "$config_file"; then
sed_i 's/rose-pine-dawn/rose-pine/g' "$config_file"
else
sed_i 's/rose-pine/rose-pine-dawn/g' "$config_file"
fi
}
function switch_colors() {
# Only work if the DOTFILES variable is set
if [ -n "$DOTFILES" ]; then
switch_alacritty_colors
switch_tmux_colors
switch_k9s_colors
fi
}
switch_colors