Skip to content

The configuration files for my shell (zsh), terminal (alacritty), IDE (neovim), etc.

Notifications You must be signed in to change notification settings

raggar/MachFiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

316ac41 · Jan 18, 2025

History

7 Commits
Jan 18, 2025
Feb 18, 2024
Jan 18, 2025
Jan 18, 2025
Jan 18, 2025
Feb 18, 2024
Jan 18, 2025
Feb 18, 2024
Feb 18, 2024
Jan 18, 2025
Feb 18, 2024
Jan 18, 2025
Feb 18, 2024
Jan 18, 2025
Feb 18, 2024
Apr 30, 2024
Feb 18, 2024
Jan 18, 2025
Apr 30, 2024
Jan 18, 2025

Repository files navigation

Development Workflow Setup

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

Getting Started

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

Update ZSH

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.

Alacritty

When getting the error about alacritty not being allowed. Do the following

sudo spctl --master-disable

Open alacritty, then run

sudo spctl --master-enable

Tmux

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.

Neovim

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)

Karabiner Elements

Add Karabiner to login items (System Preferences --> Login Items)

Launch Karabiner elements and grant full permissions.

Alt-tab

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

Raycast

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

Machine

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

Random Errors

Treesitter linting errors appearing in neovim help doc

:TSUpdate vimdoc

Window Management (Optional)

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"

Tips for Work Machine

  • 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.

About

The configuration files for my shell (zsh), terminal (alacritty), IDE (neovim), etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published