Skip to content
jbabin91Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

262 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github.com/jbabin91/dotfiles

Jace Babin's dotfiles, managed with Dotbot via uv, and migrating to chezmoi, which already owns the zsh and starship configs under home/. ./install runs both.

Features

Installation

Prerequisites

Quick Start

  1. Clone this repository:
git clone https://github.com/jbabin91/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
  1. Run the install script to symlink configuration files:
./install
  1. Install Homebrew packages:
brew bundle --global
  1. Install development dependencies:
pnpm install
  1. Restart your shell:
exec zsh

Configuration Structure

~/.dotfiles/
├── config/
│   ├── bat/            # bat syntax highlighter
│   ├── fastfetch/      # System information display
│   ├── ghostty/        # Ghostty terminal
│   ├── btop/           # btop system monitor
│   ├── karabiner/      # Keyboard customization (copy-synced)
│   ├── kitty/          # Kitty terminal
│   ├── mise/           # Tool version manager (node, rust, dotnet)
│   └── nvim/           # Neovim config (LazyVim)
├── general/
│   ├── git/            # Git config, attributes, ignore
│   ├── .cspell/        # Spell checking dictionaries
│   └── Brewfile        # Homebrew packages, casks, VS Code extensions
├── home/               # chezmoi source; mirrors ~/ (dot_zshrc -> ~/.zshrc)
├── .chezmoiroot        # Points chezmoi's source at home/
├── install.conf.yaml   # Dotbot symlink configuration
├── lefthook.yml        # Git hooks
├── prettier.config.js  # Code formatting
└── .markdownlint-cli2.mjs  # Markdown linting

Karabiner

Karabiner-Elements replaces symlinks when it writes config, so it uses a bidirectional copy sync instead of a symlink. Running ./install will sync the latest version in either direction.

Version Management

Tools are installed by Homebrew where possible; mise covers the rest, in the order brew > mise > pnpm | cargo | uv. That order picks the installer, not the winner on PATH: eight names exist in both /opt/homebrew/bin and mise's shims — node, npm and npx among them — and .zshenv puts the shims first, so the mise-pinned version is the one that runs.

mise itself is the exception: it installs from https://mise.run into ~/.local/bin, not from the Brewfile, so it updates itself (auto_update in config/mise/config.toml) instead of waiting on brew upgrade. ./install bootstraps it, so it needs no manual install — but a machine that carries a Homebrew mise from before this change wants brew uninstall mise, since brew bundle leaves an already-installed formula in place.

chezmoi is nearly the same: ./install uses a working chezmoi already on PATH, and otherwise bootstraps one from https://get.chezmoi.io into ~/.local/bin. A machine carrying a Homebrew chezmoi from before this change therefore keeps using it, so brew uninstall chezmoi to switch to that copy, which chezmoi upgrade updates in place.

  • Python — uv, installed via Homebrew, with automatic version switching
  • Node.js — managed via mise; .nvmrc / .node-version auto-switching enabled via idiomatic_version_file_enable_tools
  • .NET — SDK managed via mise
  • Rust — toolchain via mise, along with any crate that has no Homebrew formula (cargo: backend)

Development

Available Scripts

pnpm run format        # Format JSON/YAML/MD files
pnpm run format:check  # Check formatting
pnpm run lint          # Run all linting
pnpm run lint:shell    # Lint shell scripts
pnpm run lint:md       # Lint markdown files

Git Hooks

Pre-commit hooks automatically:

  • Format files with Prettier
  • Lint shell scripts with Shellcheck
  • Lint markdown with markdownlint
  • Validate commit messages with commitlint (conventional commits)

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages