-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall
More file actions
executable file
·128 lines (97 loc) · 3.49 KB
/
install
File metadata and controls
executable file
·128 lines (97 loc) · 3.49 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
#!/usr/bin/env bash
# Calculate the dotfile location
DOTFILES=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
# Create any missing directories
mkdir -p $HOME/.config
mkdir -p $HOME/.local/bin
mkdir -p $HOME/.vim
# Kitty Configuration (Terminal)
rm -rf $HOME/.config/kitty
ln -s $DOTFILES/kitty $HOME/.config/kitty
# Claude Code Configuration
rm -rf $HOME/.claude/settings.json
ln -s $DOTFILES/claude/settings.json $HOME/.claude/settings.json
# Ghostty Configuration (Terminal)
rm -rf $HOME/.config/ghostty
ln -s $DOTFILES/ghostty $HOME/.config/ghostty
# WezTerm Configuration (Terminal)
rm -rf $HOME/.config/wezterm
mkdir -p $HOME/.config/wezterm
ln -sf $DOTFILES/wezterm/wezterm.lua $HOME/.config/wezterm/wezterm.lua
# Hyper Configuration (Terminal)
rm -rf $HOME/.hyper.js
ln -s $DOTFILES/hyper/hyper.js $HOME/.hyper.js
# Tmux Configuration
rm -rf $HOME/.tmux.conf
ln -s $DOTFILES/tmux/tmux.conf $HOME/.tmux.conf
rm -rf $HOME/.local/bin/t
ln -s $DOTFILES/scripts/t $HOME/.local/bin/t
rm -rf $HOME/.local/bin/tmux-project-jump
ln -s $DOTFILES/scripts/tmux-project-jump $HOME/.local/bin/tmux-project-jump
rm -rf $HOME/.local/bin/tmux-session-switch
ln -s $DOTFILES/scripts/tmux-session-switch $HOME/.local/bin/tmux-session-switch
# Screen Configuration
rm -rf $HOME/.screenrc
ln -s $DOTFILES/screen/screenrc $HOME/.screenrc
# GIT Configuration
rm -rf $HOME/.gitignore
ln -s $DOTFILES/git/gitignore $HOME/.gitignore
rm -rf $HOME/.gitconfig
ln -s $DOTFILES/git/gitconfig $HOME/.gitconfig
rm -Rf $HOME/.git_template
ln -s $DOTFILES/git/git_template $HOME/.git_template
rm -rf $HOME/.gitconfig.os
case "`uname -s`" in
Linux*) os=linux;;
Darwin*) os=macos;;
CYGWIN*) os=windows;;
MINGW*) os=windows;;
MSYS_NT*) os=macos;;
*) os=default;;
esac
ln -s $DOTFILES/git/gitconfig.$os $HOME/.gitconfig.os
# ctags Configuration
rm -rf $HOME/.ctags
ln -s $DOTFILES/ctags/ctags $HOME/.ctags
# Editorconfig Configuration
rm -rf $HOME/.editorconfig
ln -s $DOTFILES/editorconfig/editorconfig $HOME/.editorconfig
# PHP Configuration
rm -rf $HOME/.php_cs
ln -s $DOTFILES/php/php_cs $HOME/.php_cs
# VIM Configuration
rm -rf $HOME/.vimrc
ln -s $DOTFILES/vim/vimrc $HOME/.vimrc
rm -rf $HOME/.vim/plugins.vim
ln -s $DOTFILES/vim/plugins.vim $HOME/.vim/plugins.vim
if [ ! -d "$HOME/.vim/bundle/Vundle.vim" ]; then
git clone https://github.com/VundleVim/Vundle.vim.git $HOME/.vim/bundle/Vundle.vim
fi
rm -Rf $HOME/.config/nvim
ln -s $DOTFILES/nvim $HOME/.config/nvim
# Zsh Configuration
rm -rf $HOME/.zshrc
ln -s $DOTFILES/zsh/zshrc $HOME/.zshrc
rm -rf $HOME/.zshrc.os
ln -s $DOTFILES/zsh/zshrc.$os $HOME/.zshrc.os
rm -rf $HOME/.tmux.zsh
ln -s $DOTFILES/zsh/tmux $HOME/.tmux.zsh
# Oh My Zsh
if [ ! -d "$HOME/.oh-my-zsh" ]; then
KEEP_ZSHRC=yes sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fi
if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
fi
# Journal
rm -rf $HOME/.local/bin/journal
ln -s $DOTFILES/scripts/journal $HOME/.local/bin/journal
rm -rf $HOME/.local/bin/j
ln -s $HOME/.local/bin/journal $HOME/.local/bin/j
#--------------------------------------------------------------------------
# Cleanup - Remove deprecated symlinks
#--------------------------------------------------------------------------
rm -f $HOME/.aliases
rm -f $HOME/.paths
rm -f $HOME/.claude/statusline.sh