-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·96 lines (77 loc) · 1.99 KB
/
Copy pathsetup.sh
File metadata and controls
executable file
·96 lines (77 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/env zsh
echo "( • ̀ω•́ )✧ symlinking config files"
# files to symlink
symFiles=(
config/alacritty
config/ghostty
config/zsh
config/skhd
config/lazygit
config/nvim
config/nvim-12
tmux.conf
zshenv
zshrc
# ideavimrc
# git-hooks
)
if [[ ! -d "$HOME/.config" ]]; then
echo "( • ̀ω•́ )✧ $HOME/.config does not exist. Creating now."
mkdir -p "$HOME/.config"
fi
for symF in $symFiles; do
dest="$HOME/.$symF"
# Check if file is a symlink (-L)
if [[ -L "$dest" ]]; then
# we unlink instead of rm -rf to avoid unwanted deletion of actual source
# unlink is "deletion" equivalent of symlink file
unlink "$dest"
# -f checks if file
# -d if directory
elif [[ -f "$dest" || -d "$dest" ]]; then
echo "( ˶°ㅁ°) !! Failed to symlink $dest; Non symlinked file/dir exists"
continue
fi
# create a symbolic (-s) link (ln)
ln -s "$PWD/$symF" "$dest"
done
echo "( • ̀ω•́ )✧ copying normal files"
# files to copy once only
cpFiles=(
gitconfig
gitconfig-work-template
)
for cpF in $cpFiles; do
dest="$HOME/.$cpF"
if [[ ! -f "$dest" && ! -d "$dest" ]]; then
echo "(。- .•) $dest does not exist. Copying now."
cp "$PWD/$cpF" "$dest"
fi
done
echo "( • ̀ω•́ )✧ symlinking ai config files"
sharedAiConfig=(
skills
)
aiConfigPaths=(
kiro
claude
)
for configPath in $aiConfigPaths; do
for config in $sharedAiConfig; do
dest="$HOME/.$configPath/$config"
# Check if file is a symlink (-L)
if [[ -L "$dest" ]]; then
# we unlink instead of rm -rf to avoid unwanted deletion of actual source
# unlink is "deletion" equivalent of symlink file
unlink "$dest"
# -f checks if file
# -d if directory
elif [[ -f "$dest" || -d "$dest" ]]; then
echo "( ˶°ㅁ°) !! Failed to symlink $dest; Non symlinked file/dir exists"
continue
fi
# create a symbolic (-s) link (ln)
ln -s "$PWD/ai/$config" "$dest"
done
done
echo "(づ ᴗ _ᴗ)づ DONE"