Skip to content

Latest commit

 

History

History
131 lines (103 loc) · 4.73 KB

File metadata and controls

131 lines (103 loc) · 4.73 KB
                                                       
   ████▄  ▄████▄ ██████ ██████ ██ ██     ██████ ▄█████ 
   ██  ██ ██  ██   ██   ██▄▄   ██ ██     ██▄▄   ▀▀▀▄▄▄ 
   ████▀  ▀████▀   ██   ██     ██ ██████ ██▄▄▄▄ █████▀ 
                                                       
   "Nothing like a new car... Oh shit, there goes the coffee."

After a decade of accumulating shell configurations into a single, increasingly sluggish .zshrc, this is a complete reimagining of my terminal setup. Gone are the days of monolithic configuration files and manual tool installations—welcome to a modular, cross-platform, and experiment-friendly command-line environment powered by modern dotfile management tools.

Prerequisites

Before installing, ensure you have the following:

  • git - Version control (likely already installed)
  • zsh - Set as your default shell (chsh -s $(which zsh))
  • curl - For installation script
  • A Nerd Font - Required for proper prompt rendering (JetBrains Mono Nerd Font recommended)
  • Homebrew (macOS/Linux) - Optional but recommended for platform-specific tools

Installation

Install these dotfiles with a single command using Chezmoi:

sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply shakedlokits

After installation, restart your shell or source your configuration:

zsh

That's it! Chezmoi will automatically:

  • Clone the dotfiles repository
  • Apply all configuration files
  • Install Mise and configure development runtimes
  • Install Homebrew packages (on macOS)
  • Set up zinit and zsh plugins
  • Configure Powerlevel10k prompt

Architecture

This setup follows a modular architecture designed for cross-platform compatibility:

Configuration Management

  • Chezmoi - Dotfile management with template support and bootstrap hooks
  • Mise - Runtime version management and cross-platform tool installation
  • Homebrew - macOS-specific applications and packages
  • zinit - Fast, flexible zsh plugin manager
  • Powerlevel10k - Beautiful and blazingly fast prompt theme
  • tmux - Terminal multiplexer with TPM plugin manager

Directory Structure

~/.config/
├── atuin/
│   └── config.toml        # Shell history configuration
├── git/
│   ├── config_personal
│   └── modify_config
├── mise/
│   └── conf.d/
│       ├── core.toml      # Cross-platform tools and runtimes
│       └── work.toml      # Work-specific tools
├── homebrew/
│   ├── Brewfile           # Main Brewfile that loads all sub-files
│   └── brewfiles/
│       ├── core.rb        # macOS-specific apps
│       └── work.rb        # Work-related macOS tools
├── cron/
│   ├── tasks.json         # Scheduled task definitions
│   └── set.sh             # Cron task installer
├── nvim/
│   └── init.lua           # Neovim configuration
├── television/
│   └── config.toml        # Television fuzzy finder and custom channels
└── zshrc/
    ├── 00_init.sh.tmpl    # Initialization
    ├── 01_general.sh      # History, locale, editor settings
    ├── 02_completion.sh   # Zinit plugins and completions
    ├── 03_aliases.sh      # Command aliases
    ├── 04_functions.sh    # Helper functions and utilities
    ├── 05_keymaps.sh.tmpl # Platform-specific keymaps
    └── 06_tmux.sh         # Tmux auto-start

Useful Commands

# View all managed files
chezmoi managed -p all

# Update dotfiles from repository
chezmoi update

# Apply configuration changes
chezmoi apply

# Edit a config file (syncs back to repo)
chezmoi edit ~/.zshrc

# Check what would change
chezmoi diff

# Install/update Mise tools
mise install

# List installed runtimes and tools
mise list

# Install/update Homebrew packages (macOS)
brew bundle install --file ~/.config/homebrew/Brewfile

Inspiration & Credits

Built with modern dotfile management tools:

License

MIT - Feel free to fork and adapt for your own use.