Skip to content

Repository files navigation

Dotfiles

This is my dotfiles repo. There are many others, but this one is mine.

The dotfiles here are managed with Thoughtbot's rcm.

Installation

Prerequisites:

Setup:

xcode-select --install
mkdir -p ~/src/github.com/andremedeiros
git -C ~/src/github.com/andremedeiros clone https://github.com/andremedeiros/dotfiles.git
cd ~/src/github.com/andremedeiros/dotfiles
script/bootstrap
git remote set-url origin git@github.com:andremedeiros/dotfiles.git

You can also add secret/proprietary dotfiles on your iCloud drive. Anything inside iCloud Drive/dotfiles will also be symlinked with the same rules as here.

What is rcm?

rcm is a dotfiles manager from thoughtbot. It creates symlinks from this repository to your home directory, making it easy to keep your configuration under version control.

How it works:

  • Files are symlinked from this repo to your home directory
  • The config/ directory is symlinked to ~/.config/ (XDG standard)
  • Hooks in hooks/post-up/ run automatically after each rcup

Key commands:

  • rcup - Install/update symlinks
  • lsrc - List what will be symlinked
  • rcdn - Remove symlinks

See the rcm documentation for more details.

Neovim

This configuration uses LazyVim, a Neovim configuration framework built on lazy.nvim.

Setup

First-time setup:

  1. Ensure Neovim >= 0.11.2 is installed (via brew install neovim)
  2. Run nvim - plugins will install automatically on first launch
  3. Wait for installation to complete
  4. Run :checkhealth to verify everything is working

Configuration files:

  • config/nvim/init.lua - Entry point
  • config/nvim/lua/config/keymaps.lua - Custom keybindings
  • config/nvim/lua/plugins/ - Custom plugin configurations

Custom Keybindings

Leader key is Space. Press Space in normal mode to see all available commands via which-key.

These are custom additions to LazyVim's defaults:

Key Mode Action
H Normal Go to first non-whitespace character
L Normal Go to end of line
// Normal Clear search highlight
< / > Visual Indent without losing selection
Leader + p Normal Find files
Leader + Tab Normal Switch to alternate buffer
Leader + z Normal Toggle window zoom
Leader + u h Normal Toggle inlay hints (off by default)

Running Tests

Tests run via neotest (LazyVim's test.core extra), with Go supported through neotest-golang:

Key Action
Leader + t r Run nearest test
Leader + t t Run current file
Leader + t T Run all test files
Leader + t l Run last test
Leader + t s Toggle summary panel
Leader + t o Show test output
Leader + t w Toggle watch mode

For LazyVim's built-in keybindings, see the official keymaps documentation.

Tmux

Leader is bound to Ctrl+Space

Splitting

  • [leader]-| Split vertically
  • [leader]-- Split horizontally

Navigation

  • [leader]-h Navigate to left pane
  • [leader]-l Navigate to right pane
  • [leader]-k Navigate to pane above
  • [leader]-j Navigate to pane below
  • [leader]-w Navigate windows
  • [leader]-s Navigate sessions
  • [leader]-[ Enter scroll mode (q quits)

Session

  • [leader]-c New window
  • [leader]-z Zoom on current pane

Guides

Releases

Packages

Used by

Contributors

Languages