#!/bin/env zsh DOTFILES_DIR=. sync() { # dir structure mkdir -p "${DOTFILES_DIR}/.config/gtk-3.0" mkdir -p "${DOTFILES_DIR}/.config/helix" mkdir -p "${DOTFILES_DIR}/.config/kitty" mkdir -p "${DOTFILES_DIR}/.config/zellij" mkdir -p "${DOTFILES_DIR}/.scripts" # configs cp -v "${HOME}/.zshrc" "${DOTFILES_DIR}/.zshrc" cp -v "${HOME}/.config/gtk-3.0/gtk.css" "${DOTFILES_DIR}/.config/gtk-3.0/gtk.css" cp -v "${HOME}/.config/helix/config.toml" "${DOTFILES_DIR}/.config/helix/config.toml" cp -v "${HOME}/.config/kitty/kitty.conf" "${DOTFILES_DIR}/.config/kitty/kitty.conf" cp -vr "${HOME}/.config/zellij" "${DOTFILES_DIR}/.config/" # scripts cp -v "${HOME}/.scripts/calendar.sh" "${DOTFILES_DIR}/.scripts/calendar.sh" cp -v "${HOME}/.scripts/zellij-launcher.zsh" "${DOTFILES_DIR}/.scripts/zellij-launcher.zsh" echo "done." } restore() { # configs cp -v "${DOTFILES_DIR}/.zshrc" "${HOME}/.zshrc" cp -vr "${DOTFILES_DIR}/.config" "${HOME}/" # scripts cp -vr "${DOTFILES_DIR}/.scripts" "${HOME}/" echo "done." } clean() { # dirs rm -rfv "${DOTFILES_DIR}/.config" rm -rfv "${DOTFILES_DIR}/.scripts" # files rm -fv "${DOTFILES_DIR}/.zshrc" } main() { if [[ "$1" == "clean" ]]; then clean elif [[ "$1" == "restore" ]]; then restore else sync fi echo "goodbye." exit 0 } main "$@"