4def357d097df587cfa939728af3f99b7d041fd4
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
dev
This is my monorepo, started in 2026.
Monorepo structure
dev/ Monorepo root
├── bazel/ Bazel support files
├── configs/ Declarative configuration
│ └── nixos/ NixOS hosts, modules, guests, registry, and secrets
├── docs/ Repository documentation
├── src/ Projects
│ └── dotfiles/ Home and system configuration
└── third_party/ External source and vendoring support
└── crates/ Generated Rust crate sources and Bazel targets
Rust dependencies
The repository root contains one Cargo dependency graph.
Each Rust project declares its dependencies in its local Cargo.toml file.
Add each Rust project to the members list in the root Cargo.toml file.
Use explicit member paths because the Bazel generator does not expand workspace globs.
Update the shared lockfile after changing a project manifest:
cargo generate-lockfile
Regenerate local crate sources and Bazel targets:
bazel run //third_party:vendor_crates
Reference each dependency with an explicit local Bazel label:
deps = ["//third_party/crates:crate_name"]
Commit the generated files under third_party/crates/.
Do not edit generated files manually.
Languages
Nix
71.5%
Rust
11.3%
Python
6.2%
TypeScript
4.2%
Shell
3.7%
Other
3.1%