Cross-platform shell configuration managed with chezmoi.
- Shell: bash
- Login shell config:
~/.profile.linux- Sources
~/.bashrcfor interactive shells - Sources custom configurations from
~/.config/shell/
- Sources
- Interactive shell:
~/.bashrc(system default, unmodified)
- Shell: zsh
- Login shell config:
~/.profile.darwin(minimal) - Login shell loader:
~/.zprofile- Sources custom configurations from
~/.config/shell/
- Sources custom configurations from
- Interactive shell:
~/.zshrc(minimal with basic colors)
Located in ~/.config/shell/:
env- XDG Base Directory variables and directory creationexports- Environment variables (EDITOR, BROWSER, TERMINAL)path- Cross-platform PATH management (unified for both systems)aliases- Custom shell aliases (empty, ready for additions)functions- Custom shell functions (empty, ready for additions)
- Login shell sources
~/.profile.linux ~/.profile.linuxsources~/.bashrc~/.profile.linuxsources~/.config/shell/*- Interactive shells get the configuration via
~/.bashrc
- Login shell sources
~/.zprofile ~/.zprofilesources~/.config/shell/*- Interactive shells source
~/.zshrc(minimal)
- XDG Compliant: Configurations follow XDG Base Directory specification
- Unified PATH: Single
pathfile handles both macOS (with MacPorts) and Ubuntu - Package Manager Aware:
- Ubuntu: apt + snap packages
- macOS: MacPorts packages
- Clean Separation: OS-specific files use
.linux/.darwinextensions
- alacritty: Terminal emulator with theme support
- micro: Text editor with custom bindings
- Shell: Cross-platform environment setup
# Apply configurations
chezmoi apply
# Update from repository
chezmoi update
# Add new configuration file
chezmoi add ~/.config/newapp/config