This is a collection of my personal dotfiles and knowledge about macOS.
To transform MacOS to normal daily system we need to install some apps, which will improve window management, input system and external display.
- Rectangle Will add support for dragging windows to the edges of the screen.
brew install --cask rectangle
- MonitorControl Will add the ability to change external monitor brightness/volume using keyboard keys
brew install --cask monitorcontrol
- Mos Will improve mouse scrolling with ability to blacklist some apps.
brew install --cask mos
- AltTab Will add windows-like alt-tab menu which is more convenient than macOS native menu.
brew install --cask alt-tab
- Karabiner-Elements Is a powerful utility to customize keyboard. You can change shortcuts and reassign some keys (like swap fn and ctrl).
brew install --cask karabiner-elements
- Pock (For MacBooks with TouchBar) Will provide widget to move dock into TouchBar.
brew install --cask pock
- OpenInTerminal Will add context menu item for Finder to open folder in terminal/vscode/etc.
brew install --cask openinterminal
- Stats Will add menu bar system monitor widgets
brew install --cask stats
brew install --cask rectange monitorcontrol mos alt-tab karabiner-elements pock openinterminal stats
Fish is a powerful user-friendly shell with convenient extension support and useful features. To manage plugins you can also install fisher
brew install fish fisher
- Tide Is the ultimate Fish prompt
fisher install IlanCosman/tide@v6
Change your shell entrypoint to /opt/homebrew/bin/fish
Add -fish
to black list Ask before closing
Edit ~/.config/fish/config.fish
and add these lines to add homebrew packages to PATH
if status is-interactive
eval "$(/opt/homebrew/bin/brew shellenv)"
# Commands to run in interactive sessions can go here
end
Micro Is the modern and intuitive terminal-based text editor.
brew install micro
If you want to use micro as default terminal editor, you can set environment variable in `~/.config/fish/config.fish
if status is-interactive
export EDITOR=micro
eval "$(/opt/homebrew/bin/brew shellenv)"
# Commands to run in interactive sessions can go here
end
You can set other terminal editor as default like nvim/nano/etc
export EDITOR=nvim
The best choice in my opinion is the VMware Fusion. It is free to personal use.
If you have this annoying issue, you can fix it by disabling motionUngrab
.
pref.motionUngrab = "FALSE"
pref.grabOnMouseClick = "TRUE"
pref.motionGrab = "FALSE"
... the rest of preferences