Note that any plugins should be installed from ~/.config
NOT ~/.MachFiles/...
i.e never commit any plugins, history, or cache
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
Perform which zsh
to determine which binary to add.
Should be user/local/bin/zsh
for intel and opt/homebrew/bin/zsh
for M1 macs.
sudo vim /etc/shells # lists shells which you can switch too
# add shell
`chsh -s shell`
Restart terminal, open a new shell and run which zsh
, verify result is correct
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.
Install all necessary plugins (you will see treesitter installing a bunch of parsers the first time neovim is loaded).
cd ~/.config/nvim && nvim
Setup LSP servers https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
Disable unneeded options for specific LSP server (ex, update_in_insert
, virtual_text
)
LSP's can ignore specific directories (ex, lsp.setup -> settings -> gopls -> directoryFilters)
Setup any formatters using null-ls or create a autocommand (BufWrite
on save) to use a custom binary not supported by null-ls
Launch Karabiner elements and grant full permissions.
Ensure start at login is checked and blacklist all required applications
Make sure to set shortcut to "Command Tab" to override default MacOS Switcher
Change keybinds as you wish i.e prev tab --> command + shift
-
Disable Spotlight, uncheck
System Preferences -> Spotlight -> Keyboard Shortcuts -> Show Spotlight Search
. -
Go to settings -> advanced -> import settings stored in
MachFiles/raycast
-
Enable vim keybindings
-
Cleanup Finder (sidebar, remove tags etc.).
-
Cleanup dock and minimize
-
Cleanup menubar (add bluetooth icon and remove sound).
-
Setup Google Chrome
- Setup bookmarks
- Install Momentum, 1Password etc.
- Install Vimium
- import vimium css and blocked websites (if on personal)
-
MacOS Settings
- Uncheck
shake mouse pointer to locate
go intoAccessibility
->Display
. - Hide dock
- Increase Key Repeat (makes vim feel smooth) -->
System Preferences -> Keyboard
, maximizeKey Repeat
, and minimizeDelay until repeat
. - Hide desktop items
- Uncheck
-
Change Spotify to not open on startup.
-
Select blurred background wallpaper.
-
Change Screenshots to copy to clipboard (
cmd + shift + 5
) -
Add the following to your
.gitconfig
to have better git diffs
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
# delta detects terminal colors automatically; set one of these to disable auto-detection
# dark = true
# light = true
[merge]
conflictstyle = diff3
[diff]
colorMoved = default
- 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.