Skip to content

xnoto/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

154 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Managed with chezmoi.

Prerequisites

  • chezmoi installed
  • pre-commit installed
  • age key at one of:
    • Linux: ~/.config/sops/age/keys.txt
    • macOS: ~/Library/Application Support/sops/age/keys.txt

Usage

# Install pre-commit hooks (first-time only)
pre-commit install
pre-commit install --hook-type commit-msg

# Initialize chezmoi with this repo as source
make

# Apply dotfiles to $HOME
make install

# Validate templates, linting, and secret decryption
make check

# Preview changes before applying
chezmoi diff --source=/path/to/this/repo
Target Behavior
make / make init Initialize chezmoi with this repo as the source
make install Apply dotfiles to $HOME
make check / make test Run pre-commit hooks and verify age decryption

Platform handling

  • macOS: Uses .zprofile, AeroSpace config; excludes .bashrc.d/ and i3
  • Linux: Uses .bashrc.d/, i3 config; excludes .zprofile and AeroSpace

Secrets

Secrets are encrypted with age. The encrypted file encrypted_secrets.yaml.age is decrypted at apply time using the platform-specific key path configured in .chezmoi.toml.tmpl. Templates reference secrets via include "encrypted_secrets.yaml.age" | decrypt.

Linting

Pre-commit hooks handle:

  • Trailing whitespace and EOF fixes
  • YAML validation
  • Shellcheck for bash scripts
  • Conventional Commits enforcement
  • Chezmoi template validation
  • Chezmoi doctor checks

CI

GitHub Actions runs pre-commit on pull requests and pushes to main.

Credits

Fonts

This repository includes the following third-party fonts:

About

dotfile configs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published