https://github.com/martinemde/dotfiles
✨ AI-first dotfiles with chezmoi
https://github.com/martinemde/dotfiles
chezmoi claude-code dotfiles jj
Last synced: 17 days ago
JSON representation
✨ AI-first dotfiles with chezmoi
- Host: GitHub
- URL: https://github.com/martinemde/dotfiles
- Owner: martinemde
- License: isc
- Created: 2025-09-07T00:57:17.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-30T04:18:54.000Z (18 days ago)
- Last Synced: 2026-01-30T20:35:47.698Z (17 days ago)
- Topics: chezmoi, claude-code, dotfiles, jj
- Language: Shell
- Homepage: https://github.com/martinemde/dotfiles
- Size: 762 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Dotfiles Redux
This repository contains my personal dotfiles for setting up a productive developer environment on macOS, Linux, and containerized setups using [Devcontainers](https://containers.dev/). The goal is to provide a stable and maintainable environment that prioritizes pragmatic defaults over heavy customization.
## Philosophy
- **Pragmatic Minimalism**: I prefer focused, single-purpose tools over complex frameworks. Instead of importing bulky plugins or features I don't use, I choose excellent, well-maintained tools that do one thing well with minimal configuration. Examples include znap for fast plugin loading, starship for cross-shell prompts, and mise for reproducible tool management.
- **Portability**: These dotfiles should work across macOS and Linux machines, as well as within containers. They are designed to be reliable whether installed system-wide or through a Devcontainer configuration.
- **Consistency**: The configuration aims to make pairing with others easy by sticking to intuitive shortcuts and well-known conventions. While these dotfiles improve my workflow, I can still work effectively without them if necessary.
- **Performance with Reliability**: Fast startup matters—this setup achieves 50-80% faster shell startup through caching and lazy-loading—but not at the cost of stability. I avoid risky optimizations and instead gain speed through minimalism and focused tooling. Runtime performance should not be significantly degraded by these configurations.
## Goals
1. **Stable setup** that rarely fails and is simple to maintain.
2. **Easy installation** on a fresh Mac or Linux system, with support for Devcontainers for containerized development.
3. **Shared tools** that follow common standards, enabling me to collaborate with others without friction.
4. **Documentation** that clearly explains the rationale behind each configuration choice.
## Installation
### Quick Start
```bash
chezmoi init --apply $GITHUB_USERNAME
```
### Advanced Usage
The installer supports various options and can pass arguments directly to `chezmoi init`:
```bash
# Force reinstall tools (if already installed)
REINSTALL_TOOLS=true ./install.sh
# Pass arguments to chezmoi init
./install.sh -- --force # Force chezmoi to overwrite existing files
./install.sh -- --one-shot # Use chezmoi's one-shot mode
# Combine options
REINSTALL_TOOLS=true ./install.sh -- --force
```
### Environment Variables
You can customize the installation behavior with these environment variables:
- `REINSTALL_TOOLS=true` - Force reinstallation of tools even if already present
- `BIN_DIR=/custom/path` - Install binaries to a custom directory (default: `~/.local/bin`)
- `DEBUG=1` - Enable debug output during installation
- `VERIFY_SIGNATURES=false` - Disable signature verification (not recommended)
#### Non-Interactive Installation
For CI/CD or automated environments where no TTY is available, set these variables to bypass interactive prompts:
- `GIT_USER_NAME="Your Name"` - Git user name for commits
- `GIT_USER_EMAIL="your.email@example.com"` - Git user email for commits
Example for CI environments:
```bash
GIT_USER_NAME="CI User" GIT_USER_EMAIL="ci@example.com" ./install.sh
```
For a complete list of options, run `./install.sh --help`.
## License
This project is open source under the [ISC License](LICENSE.md), credited to Ivy Evans, Martin Emde.