docs(foundry): describe monorepo layout and projects/ vendoring

Rename to Foundry (public infra monorepo). Document the repository layout, the
projects/ subtrees (website, themes) vendored in with history, and the pending
flake-input wiring (github inputs -> ./projects/<name>).

Assisted-by: pi (opus-4.8)
This commit is contained in:
Gabriel Fontes
2026-07-04 15:39:30 -03:00
parent 0c38812bb9
commit 92be457396
2 changed files with 40 additions and 3 deletions
+15 -1
View File
@@ -1,4 +1,17 @@
# NixConfig Conventions for LLMs
# Foundry Conventions for LLMs
## Repository
Foundry is my public infra monorepo (colocated jj/git — use `jj`, not `git`).
It is the NixOS/home-manager config plus, under `projects/`, the sources of the
personal projects the config deploys (`website`, `themes`). Those were imported
from their standalone repos with full history and are still mirrored there.
Input wiring: `flake.nix` still references `website`/`themes` as GitHub inputs
(`github:misterio77/...`). Switching them to the in-repo `./projects/<name>`
sources is the intended follow-up so the monorepo is self-contained; until then
the projects are vendored-for-history but the build still pulls the published
flakes.
## Commit Messages
@@ -9,6 +22,7 @@ Conventional commits: `type(scope): description`
- `home/{feature}` for home-manager features: `home/calendar`, `home/opencode`, `home/helix`
- `{host}` or `{host}/{service}` for host-specific: `pleione`, `alcyone/firefly`, `merope/recyclarr`
- Just the component for shared/global: `grafana`, `minecraft`, `recyclarr`
- `projects/{name}` for the vendored project sources: `projects/website`, `projects/themes`
- Message is lowercase, no period at end.
### Flake Lock Bumps
+25 -2
View File
@@ -1,12 +1,35 @@
[![built with nix](https://img.shields.io/static/v1?logo=nixos&logoColor=white&label=&message=Built%20with%20Nix&color=41439a)](https://builtwithnix.org)
[![hydra status](https://img.shields.io/endpoint?url=https://hydra.m7.rs/job/nix-config/main/hosts.atlas/shield)](https://hydra.m7.rs/jobset/nix-config/main#tabs-jobs)
# My NixOS configurations
# Foundry
Here's my NixOS/home-manager config files. Requires [Nix flakes](https://nixos.wiki/wiki/Flakes).
My public infrastructure monorepo: the NixOS/home-manager configuration that
runs all my machines, plus the source of the personal projects it deploys.
Requires [Nix flakes](https://nixos.wiki/wiki/Flakes).
Looking for something simpler to start out with flakes? Try [my starter config repo](https://github.com/Misterio77/nix-starter-config).
## Repository layout
```text
flake.nix, flake.lock the monorepo flake (hosts, modules, packages, CI)
hosts/ per-machine NixOS configurations (atlas, alcyone, ...)
home/ home-manager configuration (feature-flagged)
modules/ reusable nixos/ and home-manager/ modules
overlays/, pkgs/ package overlays and custom packages
hydra.nix, .hydra.json Hydra CI/CD jobset (builds every host, binary cache)
deploy.sh deployment helper
projects/ my public projects that this config deploys
website/ github.com/misterio77/website (served at m7.rs)
themes/ github.com/misterio77/themes (themes & wallpapers)
```
The `projects/` subtrees were vendored in from their own repos **with full git
history** (via `git filter-repo --to-subdirectory-filter` + an unrelated-history
merge), so this monorepo now owns the sources of the things it deploys. They are
still mirrored to their standalone GitHub repos. See `AGENTS.md` for the
input-wiring status.
**Highlights**:
- **NixOS configurations**: desktop, laptop, servers