Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "dotfiles — Index"
tagline: "The Messy Middle, Reproducible"

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the journey is the destination

---

# dotfiles

Configuration, written for the machines that rebuild it (and the person who reads the history)

Flake-based declarative environments: nix-darwin + Home Manager, one `flake.nix` driving a work Mac, personal profiles, and a headless dev container — reproducible from zero. This repository documents a learning journey with Nix, not just a final configuration.

## Thesis

Most dotfiles show you the destination. This repo keeps the journey: every wrong turn committed, every fix documented, every state rebuildable.

### Axiom i — The commit is the unit.

The history is the artifact. Incremental, meaningful commits over squashes — a commit that explains *why* teaches more than a diff that shows *what*. Jujutsu (`jj`) makes history something you shape deliberately, not something that happens to you.

### Axiom ii — Declared beats installed.

If it isn't in the flake, it doesn't exist. One shared package list feeds both the ephemeral `nix develop` shell and the persistent home environment, so a throwaway sandbox and a switched profile behave identically. New machine, new container: same environment, from zero.

### Axiom iii — The messy middle is the content.

The axiom this repo exists to prove. Nothing is wasted when you document it: [`docs/solutions/`](https://github.com/alycda/dotfiles/tree/main/docs/solutions) holds the write-up for every package collision, lint trap, and activation failure — each hit once, documented once, never re-debugged.

## Inside

Four things, all live:

- **One flake, every machine** — nix-darwin system config plus Home Manager profiles for work, home, and code contexts, composed from small focused modules. [flake.nix](https://github.com/alycda/dotfiles/blob/main/flake.nix)
- **A multi-arch dev container** — x86_64 + arm64 image with the home-manager generation baked in; the entrypoint reconciles the baked generation against a persistent home volume on every start. [Dockerfile](https://github.com/alycda/dotfiles/blob/main/Dockerfile)
- **Declarative agent tooling** — Claude Code rules, an agent-instruction overlay, and skills.sh skills pinned through nix-skills — reading per-letter index shards instead of forcing a 48MB overlay evaluation. [lib/skills-sh.nix](https://github.com/alycda/dotfiles/blob/main/lib/skills-sh.nix)
- **A knowledge store** — [`docs/solutions/`](https://github.com/alycda/dotfiles/tree/main/docs/solutions) for documented failures with structured frontmatter, [`CONCEPTS.md`](https://github.com/alycda/dotfiles/blob/main/CONCEPTS.md) for shared domain vocabulary. The part the agents read first.

## Reading order

For humans and agents alike: [README](https://github.com/alycda/dotfiles/blob/main/README.md) for the map, [CLAUDE.md](https://github.com/alycda/dotfiles/blob/main/CLAUDE.md) for the conventions, [CONCEPTS.md](https://github.com/alycda/dotfiles/blob/main/CONCEPTS.md) for the vocabulary, [docs/solutions/](https://github.com/alycda/dotfiles/tree/main/docs/solutions) for the scars.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For humans and agents alike: [README](https://github.com/alycda/dotfiles/blob/main/README.md) for the map, [CLAUDE.md](https://github.com/alycda/dotfiles/blob/main/CLAUDE.md) for the conventions, [CONCEPTS.md](https://github.com/alycda/dotfiles/blob/main/CONCEPTS.md) for the vocabulary, [docs/solutions/](https://github.com/alycda/dotfiles/tree/main/docs/solutions) for the scars.
For humans and agents alike: [README](../README.md) for the map, [CLAUDE.md](../CLAUDE.md) for the conventions, [CONCEPTS.md](../CONCEPTS.md) for the vocabulary, [docs/solutions/](.//solutions) for the scars.


## Colophon

This was supposed to be a weekend of configuration. It became a curriculum. The bee shouldn't fly, and does.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This was supposed to be a weekend of configuration. It became a curriculum. The bee shouldn't fly, and does.
This was supposed to be a weekend of configuration. It became a curriculum. The bee shouldn't fly, and yet, it _does_.


— Alyssa Evans

## Contact

alyda@me.com · https://github.com/alycda/dotfiles · Los Angeles, CA
Loading