/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
cp Brewfile ~/
brew bundle install --file=~/Brewfile
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
mkdir -p ~/.config/alacritty/themes
cp alacritty/alacritty.yml ~/.config/alacritty/
curl https://raw.githubusercontent.com/catppuccin/alacritty/main/catppuccin-mocha.toml -o ~/.config/alacritty/themes/
cp amethyst/.amethyst.yml ~/
mkdir -p "$(bat --config-dir)/themes"
cp bat/config $(bat --config-dir)
curl https://raw.githubusercontent.com/catppuccin/bat/main/themes/Catppuccin%20Mocha.tmTheme -o "$(bat --config-dir)/themes/"
bat cache --build
cp git/.gitconfig ~/
cp git/.gitignore ~/
cp ideavim/.ideavimrc ~/
mkdir -p ~/.config/lazygit
cp lazygit/config.yml ~/.config/lazygit/
mkdir -p ~/.config/lsd
cp lsd/config.yaml ~/.config/lsd/
cp -R nvim/ ~/.config/
cp ssh/config ~/.ssh/
mkdir -p ~/.config/starship
cp starship/starship.toml ~/.config/starship/
# Preferences > Tools > Install Package Control
git clone https://github.com/catppuccin/sublime-text.git ~/Library/Application\ Support/Sublime\ Text/Packages/Catppuccin
cp sublime-text/Preferences.sublime-settings ~/Library/Application\ Support/Sublime\ Text/Packages/User/Preferences.sublime-settings
mkdir -p ~/.config/tmux
cp tmux/tmux.conf ~/.config/tmux/
# <prefix> + I
cp vim/.vimrc ~/
mkdir -p ~/.vim/colors
mkdir -p ~/.vim/backups
mkdir -p ~/.vim/swaps
mkdir -p ~/.vim/undo
# PlugInstall
mkdir -p ~/.config/yazi
cp yazi/yazi.toml ~/.config/yazi
cp yazi/init.lua ~/.config/yazi
curl https://raw.githubusercontent.com/catppuccin/yazi/main/themes/mocha.toml -o ~/.config/yazi/theme.toml
curl https://raw.githubusercontent.com/catppuccin/bat/main/themes/Catppuccin%20Mocha.tmTheme -o ~/.config/yazi/catppuccin_mocha.tmTheme
ya pack -a yazi-rs/plugins:full-border
vim ~/.config/yazi/theme.toml # Edit line 32
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions
cp zsh/.zshrc ~/
...
How I improved my window management on macOS:
- Disable
Automatically rearrange Spaces based on most recent use
. - Create a dedicated Space for each app (or type of app) in the
Mission Control
view. - Assign each app to its own Space with the
Assign To
option from the Dock. - Set the keyboard shortcuts to switch directly to Spaces:
Space 1
->Option+1
,Space 2
->Option+2
, etc. - Use
Amethyst
(orYabai
) to manage and tile windows. - Default to Amethyst's
fullscreen
layout (and don't use Mac's "Full Screen").
This way, I can directly jump to a specific Space based on what I want to do.
I usually have my Spaces organized like this:
- Main screen:
Space 1
: Main browserSpace 2
: TerminalSpace 3
: Code editorSpace 4
: API clientSpace 5
: Database GUI
- Side screen:
Space 6
: Communication toolsSpace 7
: NotesSpace 8
: Music app