-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
138 lines (110 loc) · 3.06 KB
/
install.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
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
135
136
137
138
#!/bin/bash
# NOTE:
# This script is still and will always be a work in progress
# TODO:
# - setup github ssh
username="hisam"
# Install homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Echo to temporary PATH
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> "/Users/$username/.zprofile"
eval "$(/opt/homebrew/bin/brew shellenv)"
# Install zsh
ZSH=~/.oh-my-zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install packages & apps
brew install \
atuin \
cloudflared \
cmake \
eza \
fd \
fzf \
git \
jq \
koekeishiya/formulae/skhd \
koekeishiya/formulae/yabai \
neovim \
noahgorstein/tap/jqp \
orbstack \
pipx \
ripgrep \
shellcheck \
tmux \
zsh-autosuggestions
brew install --cask \
1password \
amie \
anki \
asdf \
dbeaver-community \
firefox \
gpg-suite \
hiddenbar \
lazygit \
logseq \
postman \
qblocker \
raycast \
shottr \
slack \
the_silver_searcher \
thunderbird@beta \
wezterm \
# maybe:
# - temurin
# Clone my dotfiles
git clone git@github.com:workmateasia/backend.git ~/.config
# hushlogin
touch ~/.hushlogin
# wezterm
ln -s ~/.config/wezterm/.wezterm.lua ~/.wezterm.lua
# cloudflared
ln -s ~/.config/cloudflare-tunnel.yml ~/.cloudflared/config.yml
## NOTE: commands to run
# - cloudflared tunnel login
# - cloudflared tunnel token --cred-file ~/.cloudflared/<tunnel-id>.json <tunnel-name>
# Switch zsh config location
rm -r ~/.zshrc ~/.zprofile
ln -s ~/.config/zsh/.zshrc ~/.zshrc
# Switch git global config
ln -s ~/.config/git/.my-gitconfig ~/.gitconfig
# asdf
ln -s ~/.config/.tool-versions ~/.tool-versions
ln -s ~/.config/.asdfrc ~/.asdfrc
# https://github.com/asdf-vm/asdf-plugins?tab=readme-ov-file
# TODO: Install necessary apps. See `~/.tool-versions`
# Neovim
brew upgrade neovim --fetch-HEAD
brew install lua-language-server
git config alias.conflict '!nvim $(git diff --name-only --diff-filter=U)'
# Start services
skhd --start-service
yabai --start-service
# Make key repeat rate faster
defaults write -g InitialKeyRepeat -int 10 # normal minimum is 15 (225 ms)
defaults write -g KeyRepeat -int 1 # normal minimum is 2 (30 ms)
# Note: only applied after re-login
# Install rosetta
softwareupdate --install-rosetta
# node base apps
npm i -g marked stylelint js-beautify vscode-langservers-extracted
# ----- OTHERS -----
## LSP
# npm install -g
# eslint prettier bash-language-server typescript typescript-language-server
# vscode-langservers-extracted dockerfile-language-server-nodejs
# @tailwindcss/language-server
# TODO: other manual things
# - Install Font
# - Setup system shortcut (move between desktops)
# - Reduce system motion animation (use TinkerTool)
## ===== OTHERS =====
# Install 'psql'
# brew install libpq && brew link --force libpq
# Golang tools
# NOTE: golang required
# brew install go-task/tap/go-task golang-migrate goose
# install the: golang.org/x/tools/gopls@latest
# Firefox configs
# Ref: https://github.com/ranmaru22/firefox-vertical-tabs?tab=readme-ov-file#how-to-install
# ln -s ~/.config/firefox/userChrome.css ./userChrome.css