Skip to content

jbabin91/dotfiles

Repository files navigation

github.com/jbabin91/dotfiles

Jace Babin's dotfiles, managed with Dotbot via uv.

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 (uv, dotnet)
│   ├── nvim/           # Neovim config (LazyVim)
│   ├── starship/       # Starship prompt
│   └── zsh/            # Zsh shell config + Antidote plugins
├── general/
│   ├── git/            # Git config, attributes, ignore
│   ├── .cspell/        # Spell checking dictionaries
│   └── Brewfile        # Homebrew packages, casks, VS Code extensions
├── 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

All tool versions are managed through mise:

  • Pythonuv 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

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

Watchers

Forks

Releases

Packages

Contributors

Languages