mirror of
https://github.com/Misterio77/Foundry.git
synced 2026-08-24 10:04:09 -05:00
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:
@@ -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
|
||||
|
||||
@@ -1,12 +1,35 @@
|
||||
[](https://builtwithnix.org)
|
||||
[](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
|
||||
|
||||
Reference in New Issue
Block a user