-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall-paths
More file actions
executable file
·134 lines (108 loc) · 4.4 KB
/
Copy pathinstall-paths
File metadata and controls
executable file
·134 lines (108 loc) · 4.4 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/usr/bin/env bash
set -euo pipefail
mkdir -p ~/.config
mkdir -p ~/.ssh
mkdir -p ~/.ssh/control
mkdir -p ~/.config/bottom
chmod 700 ~/.ssh
chmod 600 ~/.dotfiles/ssh/config
ln -sf ~/.dotfiles/zsh/.zshrc ~/.zshrc
ln -sf ~/.dotfiles/zsh/.zshenv ~/.zshenv
ln -sf ~/.dotfiles/zsh/.zprofile ~/.zprofile
mkdir -p ~/.config/rustfmt/
ln -sf ~/.dotfiles/rust/rustfmt.toml ~/.config/rustfmt/
mkdir -p ~/.config/zed/
ln -sf ~/.dotfiles/zed/settings.json ~/.config/zed/
ln -sf ~/.dotfiles/zed/keymap.json ~/.config/zed/
ln -sf ~/.dotfiles/zed/tasks.json ~/.config/zed/
rm -rf ~/.config/yazi
ln -sf ~/.dotfiles/yazi/ ~/.config
[[ -d ~/.config/btop ]] && rm -rf ~/.config/btop
ln -sf ~/.dotfiles/btop/ ~/.config
mkdir -p ~/.claude
ln -sf ~/.dotfiles/ai/claude/code/settings.json ~/.claude/
ln -sf ~/.dotfiles/ai/claude/code/CLAUDE.md ~/.claude/
ln -sf ~/.dotfiles/ai/claude/code/agents ~/.claude/
ln -sf ~/.dotfiles/ai/claude/code/commands ~/.claude/
ln -sf ~/.dotfiles/ai/claude/code/skills ~/.claude/
# hooks/ is a real dir (herdr installs its managed hooks there), so we link our
# own hook files in individually rather than symlinking the whole directory.
mkdir -p ~/.claude/hooks
ln -sf ~/.dotfiles/ai/claude/code/hooks/herdr-tab-title.sh ~/.claude/hooks/
mkdir -p ~/.agents
ln -sf ~/.dotfiles/ai/claude/code/skills ~/.agents/
ln -sf ~/.dotfiles/ai/claude/code/CLAUDE.md ~/.agents/AGENTS.md
mkdir -p ~/.config/herdr
ln -sf ~/.dotfiles/herdr/config.toml ~/.config/herdr/
mkdir -p ~/.config/opencode
for f in ~/.dotfiles/ai/opencode/*; do
ln -sf "$f" ~/.config/opencode/
done
[[ -d ~/.config/mise ]] && rm -rf ~/.config/mise
ln -sf ~/.dotfiles/mise/ ~/.config
symlink() { ~/.dotfiles/bin/symlink "$@"; }
for dir in "$HOME/Library/Application Support/Firefox/Profiles"/*; do
if [[ -d "$dir" ]]; then
ln -sf ~/.dotfiles/firefox/profile/chrome "$dir"/
ln -sf ~/.dotfiles/firefox/profile/user.js "$dir"/
fi
done
mkdir -p ~/.config/lazygit
symlink ~/.dotfiles/lazygit/config.yml ~/.config/lazygit
symlink ~/.dotfiles/urlwatch ~/.config/urlwatch
mkdir -p ~/.config/org.dystroy.bacon
symlink ~/.dotfiles/bacon/prefs.toml ~/.config/org.dystroy.bacon
[[ -d ~/.config/glow ]] && rm -rf ~/.config/glow
[[ -d ~/.config/broot ]] && rm -rf ~/.config/broot
symlink ~/.dotfiles/glow ~/.config/glow
if ! [[ -d /usr/local/bin ]]; then
sudo mkdir -p /usr/local/bin
sudo chown "$USER" /usr/local/bin
fi
# symlink obsidian vault to ~/code/notes (macOS only; iCloud path)
obsidian_vault="$HOME/Library/Mobile Documents/iCloud~md~obsidian/Documents/notes"
if [[ -d "$obsidian_vault" ]]; then
mkdir -p ~/code
ln -sf "$obsidian_vault" ~/code/notes
fi
# we do not symlink obsidian into the notes repo anymore b/c it doesn't work
# when using obsidian on windows
ovimrc=~/code/notes/.obsidian.vimrc
[[ -L $ovimrc ]] && rm $ovimrc
[[ -d ~/code/notes ]] && cp ~/.dotfiles/obsidian/.obsidian.vimrc ~/code/notes
symlink ~/.dotfiles/atuin ~/.config/atuin
symlink ~/.dotfiles/bat ~/.config/bat
symlink ~/.dotfiles/ghostty ~/.config/ghostty
symlink ~/.dotfiles/broot ~/.config/broot
symlink ~/.dotfiles/btm/bottom.toml ~/.config/bottom/
symlink ~/.dotfiles/direnv ~/.config/direnv
symlink ~/.dotfiles/dlv ~/.config/dlv
symlink ~/.dotfiles/k9s ~/.config/k9s
symlink ~/.dotfiles/git/.gitconfig ~
symlink ~/.dotfiles/git/.gitignore_global ~
symlink ~/.dotfiles/git/tigrc ~/.tigrc
symlink ~/.dotfiles/hammerspoon ~/.hammerspoon
symlink ~/.dotfiles/idea/.ideavimrc ~/.ideavimrc
symlink ~/.dotfiles/kitty ~/.config/kitty
symlink ~/.dotfiles/lsd ~/.config/lsd
symlink ~/.dotfiles/mutagen/.mutagen.yml ~/.mutagen.yml
symlink ~/.dotfiles/nvim ~/.config/nvim
symlink ~/.dotfiles/powerline ~/.config/powerline
symlink ~/.dotfiles/ripgrep/.ripgrep.conf ~/.ripgrep.conf
symlink ~/.dotfiles/runcom/.imwheelrc ~
symlink ~/.dotfiles/runcom/p10k.zsh ~/.p10k.zsh
symlink ~/.dotfiles/sqlite/sqliterc ~/.sqliterc
symlink ~/.dotfiles/ssh/config ~/.ssh/config
symlink ~/.dotfiles/starship/starship.toml ~/.config/
symlink ~/.dotfiles/tailspin ~/.config/tailspin
symlink ~/.dotfiles/taskfile/taskfile.yml ~/.taskfile
symlink ~/.dotfiles/tmux-powerline ~/.config/tmux-powerline
symlink ~/.dotfiles/tmux/tmux.conf ~/.tmux.conf
symlink ~/.dotfiles/tmux/tmux.conf ~/.tmux.conf
symlink ~/.dotfiles/tmuxinator ~/.config/tmuxinator
symlink ~/.dotfiles/tmuxinator/.tmuxinator.yml ~
symlink ~/.dotfiles/zellij ~/.config/zellij
symlink ~/.dotfiles/cargo/config.toml ~/.cargo/config.toml
# old tm path
rm -f /usr/local/bin/tm
touch ~/.tmux.custom.conf