domus-semper-palingenesis

# Domus Semper Palingenesis **The Ever-Regenerating Home** [![Lint & Validate](https://github.com/4444J99/domus-semper-palingenesis/actions/workflows/lint.yml/badge.svg)](https://github.com/4444J99/domus-semper-palingenesis/actions/workflows/lint.yml) [Install](#install) · [How It Works](#how-it-works) · [Usage](#usage) · [Docs](#documentation)

The Problem

Setting up a new development machine takes hours. Secrets accidentally end up in Git history. Configurations silently drift between devices until something breaks. When it does break, there’s no easy way back.

The Approach

This system uses chezmoi with three interlocking strategies:

1. Secrets never touch Git. All credentials—GitHub tokens, AWS keys, SSH identities—live in 1Password. Templates pull them at apply time, so the repository stays clean.

2. One source, many targets. Templated configs generate the right paths, tools, and settings for each OS. macOS ARM64, Intel, and Linux all derive from the same files.

3. The system heals itself. A launchd daemon watches for drift, pulls updates, creates backups, and repairs divergence automatically. If something breaks, recovery is one command away.

The Outcome

A single command provisions a new machine with every tool configured, every secret in place, and a unified terminal aesthetic. The environment stays consistent across devices without manual intervention. When problems occur, the system either fixes them silently or provides clear recovery paths.


Install

sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply 4444J99/domus-semper-palingenesis

This installs chezmoi, clones the repo, prompts for machine config, fetches secrets from 1Password, and applies everything.

How It Works

Secret Management

Credentials are referenced in templates, resolved at apply time:

[github]
token = 

The repository contains zero secrets. 1Password CLI handles authentication.

Self-Healing Daemon

Runs every 4 hours via launchd:

cmh              # Check system health
cmr list         # View available backups
cmr restore <n>  # Restore from backup

Domus CLI

Unified management interface for the entire system:

domus status            # System overview
domus apply --dry-run   # Preview sync
domus packages diff     # Package drift report
domus perf shell        # Shell startup trends
domus health            # Health check
domus doctor            # Comprehensive diagnostics
domus maintain          # System maintenance
domus maintain quick    # Cache cleanup only

Tokyo Night Terminal

All terminal tools share a unified color palette (#1a1b26 background, #7aa2f7 blue, #bb9af7 purple):

Usage

# Chezmoi shortcuts
cma     # Apply changes
cmd     # Preview diff
cme     # Edit file
cmu     # Update from remote
cmh     # Health check
cmr     # Recovery tool

# Domus
dm      # Status summary
dma     # Apply all (dotfiles + packages)
dmp     # Package status
dmm     # System maintenance
dmmq    # Quick cache cleanup

# Tools
lg      # Launch lazygit
j       # just (task runner)

Structure

~/.local/share/chezmoi/
├── .chezmoiscripts/        # Package install, daemon setup, macOS defaults
├── dot_config/
│   ├── domus/              # Manifest, daemon config
│   ├── zsh/                # Modular shell config (9 modules)
│   ├── kitty/              # Terminal config
│   ├── tmux/               # Multiplexer + TPM
│   ├── nvim/               # Neovim config
│   ├── lazygit/            # Git TUI
│   ├── bat/                # Cat replacement
│   ├── git/                # Git + delta + hooks
│   ├── fish/               # Fish shell config (full zsh parity)
│   │   └── conf.d/         # 00-path, 10-env, 20-tools, 30-aliases,
│   │                       # 40-functions, 50-theme, 90-telemetry
│   ├── ai-context/         # AI assistant context
│   ├── ai-instructions/    # Cursor/Copilot rules
│   ├── starship.toml       # Prompt
│   └── environment.tmpl    # XDG variables
├── dot_local/bin/           # domus CLI, daemons, health, packages, theme
│   ├── domus-lib.sh        # Shared bash utilities
│   └── domus_lib.py        # Shared Python utilities (unique_dest, etc.)
├── tests/                   # 16 BATS + 6 pytest test files
│   ├── render-tmpl.sh      # Render-then-test pipeline for .tmpl scripts
│   └── test-helpers.bash   # Shared BATS fixtures and mocks
├── dot_zshrc               # Shell entry point (loads zsh/ modules)
├── private_dot_ssh/        # SSH via 1Password agent
├── private_dot_claude/     # Claude Code config
└── private_Library/        # macOS LaunchAgents (12 agents)

Documentation

Guide Purpose
docs/ARCHITECTURE.md System architecture and diagrams
docs/DOMUS_CLI.md Domus CLI reference
docs/DAEMONS.md Daemon system and notifications
docs/DEVELOPMENT.md How to add modules, packages, and agents
1PASSWORD_SETUP.md Configure secret management
BACKUP_STRATEGY.md Backup and recovery procedures
docs/TROUBLESHOOTING.md Common issues and solutions
docs/EXTERNAL_DRIVE.md External drive integration
docs/ORGANIZATION_STRATEGY.md File organization system

**236 managed files · 59 templates · 13 CI jobs · 0 secrets in Git** MIT · [chezmoi](https://chezmoi.io) · [Tokyo Night](https://github.com/folke/tokyonight.nvim)

Portfolio · System Directory · ORGAN 4444J99 · Part of the ORGANVM eight-organ system