|
1
|
#!/usr/bin/env bash |
|
2
|
set -e |
|
3
|
|
|
4
|
create_links_in_dir_recursively() { |
|
5
|
local base_dir="$PWD/$1" |
|
6
|
local target_dir="$2" |
|
7
|
|
|
8
|
for dir in $(find "$base_dir/" -type d); do |
|
9
|
mkdir -p "$HOME/$target_dir${dir#$base_dir}" |
|
10
|
for file in $(find "$dir" -maxdepth 1 -type f); do |
|
11
|
ln -sf "$file" "$HOME/$target_dir${file#$base_dir}" |
|
12
|
done |
|
13
|
done |
|
14
|
} |
|
15
|
|
|
16
|
ln -sf "$PWD/zshrc" "$HOME/.zshrc" |
|
17
|
ln -sf "$PWD/gitconfig" "$HOME/.gitconfig" |
|
18
|
ln -sf "$PWD/tmux.conf" "$HOME/.tmux.conf" |
|
19
|
|
|
20
|
mkdir -p "$HOME/bin/" |
|
21
|
for file in $(find "$PWD/bin" -type f); do |
|
22
|
ln -sf "$file" "$HOME/bin" |
|
23
|
done |
|
24
|
|
|
25
|
create_links_in_dir_recursively "config" ".config" |
|
26
|
ln -sf "$PWD/config/alacritty.yml" "$HOME/.config/alacritty.yml" |
|
27
|
ln -sf "$PWD/config/electron-flags.conf" "$HOME/.config/electron-flags.conf" |
|
28
|
ln -sf "$PWD/config/starship.toml" "$HOME/.config/starship.toml" |
|
29
|
|
|
30
|
create_links_in_dir_recursively "logseq" ".logseq" |