Skip to content

Repository files navigation

dotfiles

This repo contains my dotfiles plus a script to configure a new MacOS device.

Favourite heavily configured tools:

ghostty fish+tide neovim karabiner elements opencode aichat

Cool low configuration ones:

fzf try yazi ripgrep zoxide lazygit uv colima

How to get specific dotfiles

Eg. you want to get my nvim configuration:

cd ~
git clone git@github.com:diegobit/dotfiles.git
cd dotfiles/
stow .config/nvim

Everything from scratch

Install

Install brew and packages:

Customize the packages in install.sh and the personal paths at the end of the file:

git clone git@github.com:diegobit/dotfiles.git
cd dotfiles
./install.sh

Setup dotfiles

Use GNU stow to create symlinks. For an explanation on this dotfiles management, see this video.

cd dotfiles
stow .

Setup nvim

Inside nvim

  • open nvim to let it install plugins
  • :Mason to check lsp servers, install what you need

Check

  • You can check health with :checkhealth

If needs to run fish config:

tide configure

Left prompt:

set -U tide_left_prompt_items pwd git newline character

Right prompt (minimal and complete):

set -U tide_right_prompt_items status cmd_duration context jobs python shlvl
set -U tide_right_prompt_items status cmd_duration context jobs direnv node python rustc java php ruby go gcloud kubectl terraform shlvl

Install VSCode extensions

Install VSCode, then:

./install_vscode_extensions.sh

Colima and docker

After everything, run: sudo ln -sf /Users/diego/.config/colima/default/docker.sock /var/run/docker.sock

Colima configuration with Stow

Colima keeps its config and its runtime state in the same directory (~/.config/colima), and that state grows to tens of GB (_lima/, disk images, the container datadisk).

To keep VM state outside this repo while versioning only the configuration:

  1. .stowrc is configured with --no-folding, ensuring stow . creates real directories (~/.config/colima/default/, ~/.config/colima/amd64/) and symlinks only the leaf colima.yaml files.
  2. Colima writes all runtime VM data directly into the real ~/.config/colima directory on disk, leaving this repo completely untouched.
~/.config/colima/                      real dir, VM state, never in git
├── _lima/, _store/, ssh_config
├── default/colima.yaml  ─┐
└── amd64/colima.yaml    ─┴─→ ~/dotfiles/.config/colima/<profile>/colima.yaml

~/.config/colima is colima's default when COLIMA_HOME is unset, so non-fish shells ($SHELL is zsh) resolve to the same VMs. Never create ~/.colima — it silently takes precedence over everything above.

About

Dotfiles for fish, neovim, ghostty, karabiner, my skills. Mostly MacOS specific. GNU Stow as farm manager.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages