Skip to content

mcferrill/dotfiles

Repository files navigation

mcferrill's dotfiles

This is a set of config files mostly starting with "." (hence the repo name) that allow consistent behavior between multiple tools across environments. Uses dotbot

Prerequisites for Windows

Installing and Updating

Clone the repo (eg. to $HOME/.files or $HOME/dotfiles) and install with:

Run ./install to use the bash script or ./install.ps1 if using powershell on windows. Configuration for this is in config/install.conf.yaml.

Add "update" to update dotfiles, submodules, and system as in ./install update. This is configured in config/update.conf.yaml.

Note: On windows you'll need to manually copy config/profile.ps1 to $PROFILE.

Secrets

Some things like SSH keys or private configs shouldn't be used. You can use a secrets manager like bitwarden's to store and sync these items.

Tools Configured

  • Powershell (windows), zsh+oh-my-zsh (everything else) - shell autocomplete, history search, etc.
  • starship - terminal styling
  • Git - source code management
  • Tmux & plugins via tpm - terminal multiplexer (splits/tabs, etc)
  • Neovim & plugins - telescope, lsps, formatting (based on kickstart.nvim)
  • wezterm - cross platform terminal emulator
  • macos

Note: I had to install mingw on windows to provide a c compiler to neovim

Per-machine config

On unixy systems you can put system specific configuration in ~/.files/sys.sh and they will also be sourced.

Currently used on

  • macOS
  • Ubuntu
  • Windows 11 (powershell & WSL2)