These are my personal dotfiles, managed with chezmoi for seamless cross-platform configuration. I use these daily on both Linux (AnduinOS) and macOS systems.
Note for others: Feel free to use these as inspiration or a starting point for your own dotfiles! However, you'll likely want to customize paths, usernames, and personal preferences before using them directly.
# Fresh install on a new machine
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply jtsiros/dotfiles# Fork this repo first, then:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply YOUR_USERNAME/dotfilesOr if you already have chezmoi:
chezmoi init --apply jtsiros/dotfiles # or YOUR_USERNAME/dotfiles- zsh with custom configuration
- Modern command-line tools (fzf, fd, bat, eza)
- Cross-platform package management
- Neovim with comprehensive Lua configuration
- Helix editor setup
- Doom Emacs configuration
- Git with custom aliases and delta integration
- tmux with sensible defaults
- Ghostty terminal configuration
- Zed editor settings
- Zellij terminal multiplexer
- Keyboard customizations (Karabiner on macOS)
- htop configuration
- Cross-platform package installation scripts
- Odin Language Server (ols) setup for development
This repo uses a clean, organized template system:
.chezmoitemplates/ # All template logic (centralized)
dot_* # Clean dotfile references
CROSS_PLATFORM_SETUP.md # Platform-specific notes
TEMPLATE_GUIDELINES.md # How to add new templates
- ✅ Linux (primary: AnduinOS, should work on most distros)
- ✅ macOS (Intel & Apple Silicon)
- 🔧 Windows (via WSL - untested but should work)
If you want to adapt these dotfiles:
- Fork this repository
- Update personal info:
- Replace
/home/jtsirospaths with your home directory - Update Git configuration with your details
- Modify package lists in
.chezmoitemplates/install-packages.sh
- Replace
- Customize tools: Remove or modify configurations for tools you don't use
- Test incrementally: Use
chezmoi diffbefore applying changes
See TEMPLATE_GUIDELINES.md for details on the organization system.
- 🏗️ Build-time templating: Platform detection happens during
chezmoi apply - 🎯 Clean output: Generated configs contain only relevant settings
- 📁 Organized: Template logic separated from file structure
- 🔄 Idempotent: Safe to run multiple times
- 📖 Documented: Clear guidelines for maintenance
# Check what would change
chezmoi diff
# Apply any updates
chezmoi apply
# Edit a config file
chezmoi edit ~/.zshrc
# Add a new file to be managed
chezmoi add ~/.config/new-tool/configPrefix: Ctrl+A
Creating/Splitting Panes
Ctrl+A |- Split window verticallyCtrl+A s- Split horizontally (current path)Ctrl+A v- Split vertically (current path)
Navigating Between Panes
Ctrl+A h- Select left paneCtrl+A j- Select pane belowCtrl+A k- Select pane aboveCtrl+A l- Select right pane
Resizing Panes (repeatable - press prefix once, then keep pressing resize key)
Ctrl+A ,- Resize left by 20Ctrl+A .- Resize right by 20Ctrl+A -- Resize down by 7Ctrl+A =- Resize up by 7
Other Pane Actions
Ctrl+A z- Toggle pane zoom (maximize/restore)Ctrl+A c- Kill current paneCtrl+A x- Swap pane downCtrl+A *- Synchronize panes (type in all at once)Ctrl+A P- Set pane border status