Skip to content
forked from abkolan/dotfiles

🔧 .files A collection of configuration files for my development environment, managed with GNU Stow

Notifications You must be signed in to change notification settings

abhilast/dotfiles

 
 

Repository files navigation

Dotfiles

Personal dotfiles setup optimized for DevOps workflows, managed with GNU Stow.

📦 What's Included

Core Tools

  • Neovim - Lightning-fast navigation with FZF and Telescope, LSP support, DevOps workflows
  • ZSH - Extended shell with custom aliases, functions, and performance optimizations
  • Git - Version control configuration with delta diffs and workflow aliases
  • Kitty - Terminal emulator with theme system and keyboard shortcuts

Development Tools

  • Go - Development environment with linter configuration
  • Atuin - Advanced shell history with fuzzy search and sync
  • Broot - Interactive directory tree navigation
  • Ripgrep - Fast text search with configuration
  • LSD - Modern ls replacement

System Tools

  • Btop - Resource monitor with beautiful TUI
  • Ghostty - GPU-accelerated terminal emulator
  • LinearMouse - Mouse acceleration configuration

🚀 Installation

Quick Start (macOS)

git clone <your-repo-url> ~/dotfiles
cd ~/dotfiles
./install.sh

The installer handles:

  • Homebrew and CLI tools installation
  • ZSH setup with Zinit and plugins
  • Neovim configuration and plugin sync
  • GNU Stow symlink creation
  • Path fixes for your environment

🤖 AI Workflow Quick Reference

Core shell helpers (from zsh/.zsh_aliases and zsh/.zsh_functions):

pj              # fuzzy-switch projects
wtn <branch>    # create/switch to a git worktree branch
wtl             # list/jump worktrees
wtr <target>    # remove a worktree (safe checks)
prn             # push current branch + open PR via gh
cc [dir] [...]  # launch Claude (optional directory)
cx [dir] [...]  # launch Codex (optional directory)

📚 Component Documentation

Core Components

  • Neovim - Text editor with LSP, plugins, and DevOps tools
  • ZSH - Shell with aliases, functions, and performance features
  • Git - Version control configuration and aliases
  • Kitty - Terminal emulator configuration
  • Atuin - Advanced shell history

Development Tools

  • Go - Go development environment
  • Broot - Tree view and file navigation
  • Ripgrep - Text search configuration
  • LSD - Modern ls replacement

System Tools

Utilities

🔄 Sync Between Machines

Synchronize dotfiles across machines:

~/dotfiles/scripts/sync.sh

This script:

  • Pulls latest changes from git
  • Runs brew bundle to sync packages
  • Re-stows all configurations

Workflow

Adding new tools:

brew install new-tool
cd ~/dotfiles
brew bundle dump --force
git add .
git commit -m "Add new-tool"
git push

Syncing to other machines:

~/dotfiles/scripts/sync.sh

💡 Tips

  • Run ./scripts/health-check.sh after installation to verify setup
  • Use ./scripts/benchmark.sh to check shell startup performance
  • See component READMEs for detailed configuration options
  • Backup configs with ./scripts/backup-configs.sh before major changes

🌳 Git Worktrees Helper (wt)

A small helper script is available at ~/dotfiles/scripts/wt (and on PATH after shell reload).

wt new cloudsync-pro hero-fix
wt ls cloudsync-pro
wt rm cloudsync-pro hero-fix
wt prune cloudsync-pro

Defaults:

  • Root workspace: ~/repos/skates
  • New worktree path: ~/repos/skates/<repo>-wt-<name>
  • Base branch: origin/main

Overrides:

  • WT_ROOT to change workspace root
  • WT_REMOTE_BASE to change default branch base

About

🔧 .files A collection of configuration files for my development environment, managed with GNU Stow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 65.7%
  • Lua 33.2%
  • Ruby 1.1%