-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.sh
104 lines (93 loc) · 2.09 KB
/
setup.sh
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
#!/usr/bin/env bash
echo "Setting up development env"
echo "Config macos specific"
defaults write -g InitialKeyRepeat -int 15 # normal minimum is 15 (225 ms)
defaults write -g KeyRepeat -int 1 # normal minimum is 2 (30 ms)
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
defaults write com.apple.finder _FXSortFoldersFirst -bool true
defaults write -g ApplePressAndHoldEnabled -bool true
killall Finder
echo "Installing homebrew..."
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
brew update
echo "Tapping homebrew..."
TAPS=(
homebrew/cask-fonts
)
PACKAGES=(
git
fzf
awscli
go
neovim
node
yarn
gh
zsh
zsh-completions
# docker
# docker-compose
# colima
bat
ripgrep
lazygit
# gitui
sqlite
gnu-sed
stow
direnv
# git-delta
# ncdu
# fd
)
echo "Installing packages..."
brew install ${PACKAGES[@]}
echo "Installing cask..."
CASKS=(
amethyst
# min
iterm2
spotify
visual-studio-code
# logitech-options
# tableplus
# chromium
# notable
google-chrome
kubecontext
tyke
itsycal
hiddenbar
font-iosevka-nerd-font
# rectangle
)
echo "Installing cask apps..."
brew install --cask ${CASKS[@]}
echo "install useful key bindings and fuzzy completion..."
eval "$(brew --prefix)/opt/fzf/install"
echo "Create dev env..."
mkdir -p ~/code/scratches
cp .vimrc ~/.vimrc
# cp ./zsh/.zshrc ~/.zshrc
# cp ./zsh/.p10k.zsh ~/.p10k.zsh
echo "Stow dotfiles..."
# TODO refactor this stow
# stow config files
mkdir $HOME/.config
mkdir $HOME/.config/nvim
mkdir $HOME/.config/kitty
mkdir $HOME/.config/alacritty
mkdir $HOME/.config/gitui
stow --target=$HOME/.config/kitty kitty
stow --target=$HOME/.config/nvim nvim
stow --target=$HOME/.config/alacritty alacritty
stow --target=$HOME/.config/gitui gitui
stow --target=$HOME git
stow --target=$HOME vim
stow --target=$HOME tmux
echo "configure git..."
git config --global --add --bool push.autoSetupRemote true
echo "DONE!"