-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·42 lines (35 loc) · 1.24 KB
/
install.sh
File metadata and controls
executable file
·42 lines (35 loc) · 1.24 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
#!/usr/bin/env bash
set -e
DOTFILES_PATH=$(cd "$(dirname "$0")" && pwd)
echo "Setting up dotfiles..."
mkdir -p ~/projects
mkdir -p ~/.config
mkdir -p ~/.cargo
link() {
local src="$1"
local dest="$2"
if [[ -L "$dest" && "$(readlink "$dest")" == "$src" ]]; then
echo " skip (already linked): $dest"
else
ln -sfn "$src" "$dest"
echo " linked: $dest -> $src"
fi
}
echo "Creating symlinks..."
link "${DOTFILES_PATH}/.emacs.d" ~/".emacs.d"
link "${DOTFILES_PATH}/.zshrc" ~/".zshrc"
link "${DOTFILES_PATH}/.zsh" ~/".zsh"
link "${DOTFILES_PATH}/.zfunc" ~/".zfunc"
link "${DOTFILES_PATH}/.tmux" ~/".tmux"
link "${DOTFILES_PATH}/.tmux/.tmux.conf" ~/".tmux.conf"
link "${DOTFILES_PATH}/.tmux.conf.local" ~/".tmux.conf.local"
link "${DOTFILES_PATH}/.starship" ~/".starship"
link "${DOTFILES_PATH}/.config/lazygit" ~/.config/"lazygit"
link "${DOTFILES_PATH}/.config/yazi" ~/.config/"yazi"
link "${DOTFILES_PATH}/.config/bat" ~/.config/"bat"
link "${DOTFILES_PATH}/.config/zsh-abbr" ~/.config/"zsh-abbr"
link "${DOTFILES_PATH}/.config/gwq" ~/.config/"gwq"
link "${DOTFILES_PATH}/.config/ghostty" ~/.config/"ghostty"
link "${DOTFILES_PATH}/.cargo/config" ~/.cargo/"config"
link "${DOTFILES_PATH}/.ripgreprc" ~/".ripgreprc"
echo "Dotfiles setup complete!"