Skip to content

A repo for all my config file, including neovim, fish, tmux, alacritty, kitty, pre-commit, and more.

Notifications You must be signed in to change notification settings

HotThoughts/dotfiles

Repository files navigation

Gitmoji

Dotfiles

macOS dotfiles managed with chezmoi.

✨ Highlights

🚀 Quick Start

Prerequisites

  • macOS

Installation

# Clone and apply dotfiles git clone https://github.com/HotThoughts/dotfiles.git ~/.local/share/chezmoi cd ~/.local/share/chezmoi ./install.sh

The script installs chezmoi and runs chezmoi init --apply, which triggers run_once_setup.sh.tmpl to install Xcode tools, Homebrew, packages from Brewfile, and Fish plugins.

🛠️ Tools & Technologies

Shell Environment

  • Fish - Interactive shell
  • Starship - Cross-shell prompt
  • Atuin - Shell history
  • Zoxide - Directory jumper
  • Fisher - Fish plugin manager

CLI Tools

  • eza - Modern ls
  • bat - Cat with syntax highlighting
  • ripgrep - Fast grep
  • fd - Fast find
  • fzf - Fuzzy finder
  • delta - Better git diffs
  • lazygit / lazyjj - TUI for Git/Jujutsu
  • gh - GitHub CLI

Development

  • Neovim - Text editor
  • tmux - Terminal multiplexer
  • pyenv + poetry - Python management
  • nvm - Node version manager
  • OrbStack - Docker for macOS

Kubernetes

  • kubectl + kubie - K8s CLI and context switcher
  • helm - K8s package manager
  • k9s - K8s terminal UI

Code Quality

  • Trunk - Unified linter/formatter
  • pre-commit - Git pre-commit hooks
  • gitleaks / trufflehog - Secret detection
  • hadolint - Dockerfile linter
  • actionlint - GitHub Actions linter

Window Management

  • AeroSpace - i3-like tiling WM
  • Karabiner-Elements - Keyboard customization
  • Raycast - Application launcher

📖 Usage

Managing Dotfiles

# See what changes would be applied chezmoi diff # Apply changes from source directory to home directory chezmoi apply # Edit a file (opens in $EDITOR, then applies on save) chezmoi edit ~/.config/fish/config.fish # Add a new file to chezmoi chezmoi add ~/.config/newapp/config.toml # Pull and apply changes from git chezmoi update # Check configuration health chezmoi doctor

Making Changes

  1. Edit files in ~/.local/share/chezmoi/
  2. chezmoi diff to preview
  3. chezmoi apply to sync
  4. Commit with gitmoji

Common Shell Abbreviations

  • kkubectl
  • kxkubie ctx (switch Kubernetes context)
  • knskubie ns (switch namespace)
  • lseza --icons
  • fufisher update

Screenshots

Shell: Starship prompt with Jujutsu integration

Terminal

Editor: LazyVim configuration

lazyvim

Theme: Tokyo Night applied across VS Code, Neovim, Ghostty, Fish, and Obsidian.

Development

Code Quality

trunk check # Run linters trunk fmt # Format files trunk upgrade # Update trunk

Pre-commit hooks check shell scripts, Python, Markdown, secrets, YAML/JSON/TOML, and more.

Jujutsu Aliases

  • jj mine - List bookmarks
  • jj tug - Move bookmarks up
  • jj rebase-all - Rebase onto trunk
  • wip() / private() - Revsets excluded from git push

Requirements

  • macOS
  • ~2GB disk space

License

Personal dotfiles. Use as inspiration.

About

A repo for all my config file, including neovim, fish, tmux, alacritty, kitty, pre-commit, and more.

Topics

Resources

Stars

Watchers

Forks