Cross-platform dotfiles managed with chezmoi for:
- macOS
- Debian/Ubuntu-style Linux setups, including Raspberry Pi OS and NVIDIA Jetson
The repository supports two profiles:
personal: full setup, including AI shell functions (ask,explain,aigen, etc.), Ollama models, AI CLI tools, mobile development, and device SSH helperswork: a smaller, work-safe subset
Forking this repo? See Adapting for Your Own Use below.
- Prerequisites
- Quick Install
- Re-run Setup
- Common Commands
- What Gets Installed
- SSH Device Configuration
- Adapting for Your Own Use
- Documentation
- License
- chezmoi — the dotfiles manager
git— required by chezmoicurl— used by the bootstrap installer
chezmoi can install itself as part of the one-line bootstrap if it is not already present.
One-line bootstrap:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply Jake-Prickett/dotfilesManual install:
sh -c "$(curl -fsLS get.chezmoi.io)"
chezmoi init Jake-Prickett/dotfiles
chezmoi diff # Review what will change before applying
chezmoi apply
exec zshOn first run, chezmoi prompts for your profile, name, email, and an initial device when using the personal profile.
chezmoi state delete-bucket --bucket=runOnce
chezmoi applychezmoi edit <file> # Edit a managed file
chezmoi edit-config # Edit ~/.config/chezmoi/chezmoi.toml
chezmoi diff # Preview changes before applying
chezmoi apply # Apply changes
chezmoi update # Pull latest and apply
chezmoi cd # Jump to the chezmoi source directoryCommon setup includes:
- Zsh, Oh My Zsh, Powerlevel10k, and shell plugins
- Git, GitHub CLI, mise (runtime manager for Node, Python, etc.), Neovim, and modern CLI tools such as
bat,fd,rg,fzf, andeza - VS Code Insiders extensions when
code-insidersis available
macOS adds Homebrew packages and optional personal-profile tools such as:
- Docker Desktop
- Xcode tooling via
xcodes - Android Studio and Android command-line tools
- Claude, ChatGPT, Postman, Proxyman, GitHub Desktop, and other desktop apps
github-mcp-serverfor GitHub-backed MCP integrations in AI tools
Linux adds apt-managed essentials such as:
- build tools,
nodejs,npm,python3,openjdk-17,maven, andgradle sqlite3,postgresql-client,redis-toolsvim,neovim,tmux,screen, and SSH/network utilities
Jetson devices add an on-device inference layer:
- runtime detection for Jetson/L4T plus CUDA path setup
- shell helpers such as
jetson-info,jetson-top,cuda-check,trt-check,torch-check, anddocker-nvidia-check - power and clocks helpers such as
jetson-power,jetson-maxn,jetson-clocks-on, andjetson-clocks-off - model storage defaults for
MODELS_DIR,HF_HOME,TRANSFORMERS_CACHE, andOLLAMA_MODELS - a safer default to prefer the system Python on Linux ARM64 boards so JetPack-bound CUDA/TensorRT wheels stay compatible
Add devices to ~/.config/chezmoi/chezmoi.toml under [data.devices.<name>]:
[data.devices.pi]
hostname = "raspberrypi.local"
user = "your-username"
aliases = ["pi", "rpi", "raspberrypi"]
[data.devices.jetson]
hostname = "jetson.local"
user = "nvidia"
aliases = ["jetson"]That generates:
Hostentries in~/.ssh/config- shell aliases such as
ssh-piandssh-copy-id-pi
See chezmoi.toml.example for a full example configuration.
This is a personal dotfiles repo. To use it as a starting point:
- Fork the repository to your own GitHub account.
- Update the bootstrap URLs in the README to point to your fork.
- Copy
chezmoi.toml.exampleto~/.config/chezmoi/chezmoi.tomland fill in your own values. - Adjust profiles, packages, and templates to match your own toolset.
Secrets (API keys, tokens) are never committed — they live only in your local chezmoi.toml and are injected into templates at apply time.
- Installation Guide
- Architecture Overview
- Platform Tools
- Git Configuration
- SSH Configuration
- Neovim Guide
- VS Code Integration
- AI Tools Integration
This project is licensed under the MIT License — see LICENSE for details.