/dotfiles

zsh, neovim, ...

Primary LanguageShell

dotfiles

My setup for 90% of everything I do on a computer.

Components

  • Neovim: The best text editor. This configuration has LSP, autocomplete, telescope, a LaTeX setup, and more.
  • tmux: Terminal multiplexer. Prefix Ctrl-S.
  • Alacritty: A (blazingly?!) fast terminal emulator. Keybindings for use with tmux. Install MesloLGS Nerd Font if needed.
  • Powerlevel10k: Very nice zsh prompt.
  • lazygit: Git UI for the terminal. This saves me so much time.
  • Catppuccin: The color scheme I use for everything I can (frappĂ© is the best flavor).
  • Keyboard shortcuts (using skhd and yabai): Quickly organize windows and open apps.
  • Various shell utils: fzf (fuzzy finder), ripgrep (better grep), fd (better find), htop (interactive process viewer), miniconda (Python package and version manager), zsh-syntax-highlighting (highlight valid/invalid commands and files), zsh-autosuggestions (show command completion)

Setup

Setup for MacOS

Clone this repository. Install Alacritty and Homebrew using instructions on their websites. Run

brew install neovim powerlevel10k fzf ripgrep fd lazygit tmux htop miniconda koekeishiya/formulae/yabai koekeishiya/formulae/skhd
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/bin/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ~/bin/zsh-autosuggestions
./configure.sh

(Partial) Setup for Other Operating Systems

Homebrew cannot be used, so the tools will have to be installed using other methods. This can be done by either finding binary releases at the links above or using a different package manager. Modify ITEMS in "configure.sh" to only contain the installed tools, then run ./configure.sh.

Neovim Setup

After installing the tools above and running "configure.sh",

  1. Open Neovim and wait for plugins to install.
  2. Install language servers, formatters, debuggers. If you don't have them already, use :Mason.
  3. Install common treesitter parsers I use with :SetupTreesitter. Other parsers can be installed with :TSInstall <parser name>.
  4. Restart Neovim and type :checkhealth to make sure everything is working correctly.