Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install apps
brew install autojump fish fzf git git-lfs
brew install --cask calibre chatgpt chrome cursor clipy discord figma font-jetbrains-mono iterm2 itsycal notunes rectangle selfcontrol spotify visual-studio-code
Set Fish as the default shell
echo "/opt/homebrew/bin/fish" | sudo tee -a /etc/shells
chsh -s /opt/homebrew/bin/fish
Fish config ~/.config/fish/config.fish
if status is-interactive
# Commands to run in interactive sessions can go here
end
set fish_prompt_pwd_dir_length 0
function fish_prompt
# Set options for the fish_git_prompt
set -g __fish_git_prompt_showdirtystate yes
set -g __fish_git_prompt_char_cleanstate ' ✔'
set -g __fish_git_prompt_char_dirtystate '✗'
set -g __fish_git_prompt_color_branch green
set -g __fish_git_prompt_color_cleanstate green
set -g __fish_git_prompt_color_dirtystate red
set -g __fish_git_prompt_showupstream none
set -g __fish_git_prompt_show_informative_status no
set -g __fish_git_prompt_showstashstate no
set -g __fish_git_prompt_showuntrackedfiles no
# Show current directory
set_color green
echo -n (prompt_pwd)
# Show Git branch and status if in a Git repository
set_color normal
fish_git_prompt
# Show the prompt symbol
echo -n ' > '
end
set -U Z_CMD "j"
# add homebrew to path
set -U fish_user_paths /opt/homebrew/bin $fish_user_paths
# add npm to path
set -U fish_user_paths ~/.npm-global/bin $fish_user_paths
# autojump
[ -f /opt/homebrew/share/autojump/autojump.fish ]; and source /opt/homebrew/share/autojump/autojump.fish
Install fisher and plugins
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
fisher install jethrokuan/fzf
fisher install jhillyerd/plugin-git
fisher install jethrokuan/z
Load Rectangle config: https://gist.github.com/josephan/957c65f5580c69d9725f1b1fa4aa52d7#file-rectangleconfig-json
Enable key repeat for all keys
defaults write -g ApplePressAndHoldEnabled -bool false
Clear default apps in dock
defaults write com.apple.dock persistent-apps -array
killall Dock