NOTE: plugins should be installed from ~/.config
NOT ~/.MachFiles/...
never commit any plugins, history, or cache
NOTE: changes should be made in ~/.MachFiles
NOT ~/.config
to ensure changes are reflected in git
Clone dotfiles
cd $HOME && git clone https://github.com/raggar/MachFiles.git
Run setup script,
chmod +x MachFiles/scripts/.config/scripts/setup.sh
./MachFiles/scripts/.config/scripts/setup.sh
Restart your computer
Run sudo nvim /etc/shells
and add /opt/homebrew/opt/zsh/bin/zsh
(you can only use chsh on shells in this file).
Run chsh -s /opt/homebrew/opt/zsh/bin/zsh
Open a new shell and run echo $SHELL
to confirm everything is set properly.
When getting the error about alacritty not being allowed. Do the following
sudo spctl --master-disable
Open alacritty, then run
sudo spctl --master-enable
Enter the following command to start a tmux session
tmux
tmux source ~/.config/tmux/tmux.conf
Install plugins by pressing prefix + I
inside a tmux window.
Running neovim will setup the initial plugin installations.
cd ~/.config/nvim && nvim
By default no lsp servers (besides for lua) are installed. Reference https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md for additional installations.
Additional Notes:
- setup any formatters/linters as needed with Mason
- create a autocommand (BufWrite
on save) to use a custom binary not supported by null-ls
- performance enhancements can be made for certain lsp servers i.e. ignoring directories
- disable unneeded options for specific LSP server (ex, update_in_insert
, virtual_text
)
Add Karabiner to login items (System Preferences --> Login Items)
Launch Karabiner elements and grant full permissions.
Add Alt-tab to login items (System Preferences --> Login Items)
Set shortcut to "Command Tab" to override default MacOS Switcher
Change keybinds i.e prev tab --> command + shift
Disable Spotlight keybind with System Preferences -> Keyboard Shortcuts -> Spotlight
.
Add Raycast to login items (System Preferences --> Login Items) if not done automatically
Change keybind to Command + Space
Enable vim keybindings
Cleanup Finder (sidebar, remove tags etc.).
Cleanup dock and minimize
Cleanup menubar (add bluetooth icon and remove sound).
Setup Arc Browser - Extensions: Ad block, Bitwarden, Vimium - Change links to use default space: Preferences > Links > Air Traffic Control > Default: Most Recent Space - Setup bookmarks
MacOS Settings
- Uncheck shake mouse pointer to locate
go into Accessibility
-> Display
.
- Hide dock
- Increase Key Repeat (makes vim feel smooth) --> System Preferences -> Keyboard
, maximize Key Repeat
, and minimize Delay until repeat
.
- Hide desktop items
Change Screenshots to copy to clipboard (cmd + shift + 5
)
Disable Hot Corners
Treesitter linting errors appearing in neovim help doc
:TSUpdate vimdoc
Open several desktops Keyboard Settings -> Shortcuts -> Mission Control -> Enable shortcuts for switching spaces System Settings -> Accessibility -> Display -> Turn on "Reduce motion" System Settings -> Mission Control -> Turn off "Automatically rearrange spaces based on recent use", enable "Displays have seperate spaces", and enable "Switch to a Space with open windows for the application"
- Hook into build systems (ex, bazel) to increase performance if using neovim as editor
- Add any aliases needed for (ex, jumping into a directory, running linter, running tests etc.)
- Setup .gitconfig as needed
- Modify .ignore to ignore specific build files etc.