Skip to content

rewse/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

264 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Personal dotfiles management system using chezmoi. Centrally manage shell configurations, editor settings, Git configurations, and more across multiple machines (macOS and Linux).

Features

  • Cross-platform support: Compatible with both macOS and Linux
  • Template-based: Manage machine-specific configurations with conditional branching
  • Secure secrets management: Safely manage API keys and credentials through 1Password integration

Setup

Installation on a New Machine

macOS (Homebrew)

# Install chezmoi
brew install chezmoi

# Initialize and apply dotfiles
chezmoi init --apply <your-github-username>

macOS (without Homebrew) or Linux

# Install chezmoi and initialize/apply dotfiles
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply <your-github-username>

Or, install chezmoi only:

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

Install to a specific directory (e.g., /usr/local/bin):

sh -c "$(curl -fsLS get.chezmoi.io)" -- -b /usr/local/bin

If You Already Have chezmoi

chezmoi init <your-github-username>
chezmoi apply

Usage

Daily Operations

# Add a file
chezmoi add ~/.zshrc

# Edit a file
chezmoi edit ~/.zshrc

# Check changes
chezmoi diff | cat

# Apply changes
chezmoi apply

# Dry run
chezmoi apply --dry-run --verbose | cat

Sync with Remote

# Fetch and apply latest changes
chezmoi update

Structure

Directory Structure

.
├── .chezmoitemplates/            # Shared templates (can be included from other templates)
├── .kiro/                        # Kiro-related configurations
│   └── steering/                 # Guidelines for AI assistant
├── dot_config/                   # XDG Base Directory compliant configurations
│   └── chezmoi/                  # chezmoi configuration and examples
│       └── chezmoi.yaml          # Configuration file
├── dot_kiro/                     # Kiro CLI settings and steering rules
├── dot_vim/                      # Vim configurations
├── dot_*                         # Other dotfiles (zshrc, gitconfig, etc.)
├── private_dot_ssh/              # SSH keys and config (private attribute 0600)
├── private_*                     # Other private files
└── *.tmpl                        # Template files (processed by chezmoi)

Requirements

About

Personal dotfile management system using chezmoi

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Contributors