diff --git a/.install/symlink.sh b/.install/symlink.sh index 1aefc77..a191761 100644 --- a/.install/symlink.sh +++ b/.install/symlink.sh @@ -1,17 +1,48 @@ #!/bin/bash # files -ln -s ~/dotfiles/.zshrc ~/.zshrc -ln -s ~/dotfiles/.tool-versions ~/.tool-versions +files=( + ".zshrc" + ".tool-versions" +) + +_symlinkFiles() { + for file; do + if [ -h ~/${file} ]; then + continue + fi + if [ -f ~/${file} ]; then + rm ~/${file} + fi + ln -s ~/dotfiles/${file}/ ~/${file} + done; +} # directories -ln -s ~/dotfiles/gtk-3.0/ ~/.config/ -ln -s ~/dotfiles/hypr/ ~/.config/ -ln -s ~/dotfiles/kitty/ ~/.config/ -ln -s ~/dotfiles/neofetch/ ~/.config/ -ln -s ~/dotfiles/nvim/ ~/.config/ -ln -s ~/dotfiles/pipewire/ ~/.config/ -ln -s ~/dotfiles/swayidle/ ~/.config/ -ln -s ~/dotfiles/swaylock/ ~/.config/ -ln -s ~/dotfiles/wofi/ ~/.config/ +directories=( + "gtk-3.0" + "hypr" + "kitty" + "neofetch" + "nvim" + "pipewire" + "waybar" + "wofi" +) + +_symlinkDirs() { + for dir; do + if [ -h ~/.config/${dir} ]; then + continue + fi + if [ -d ~/.config/${dir}/ ]; then + echo "Deleting existing directory ${dir}" + rm -rf ~/.config/${dir}/ + fi + ln -s ~/dotfiles/${dir}/ ~/.config/ + done; +} + +_symlinkFiles "${files[@]}" +_symlinkDirs "${directories[@]}"