Document dependency system in Omni/Bild/README.md

t-277.4·WorkTask·
·
·
·Omni/Bild.hs
Parent:t-277·Created1 month ago·Updated1 month ago

Dependencies

Description

Edit

Add comprehensive documentation for the dependency pinning system.

Content to add:

1. Decision tree for adding dependencies:

  • Is it in nixpkgs?
  • Yes, need specific version? → Add to Sources.json (auto-override=true implied)
  • Yes, default version OK? → Just use it directly
  • No? → Add to Sources.json + create Deps/*.nix derivation + set auto-override=false

2. Workflow examples: `bash # Update all deps deps update

# Update specific dep to branch deps update nixpkgs -b nixos-24.11

# Add new GitHub dep deps add owner/repo

# Review changes git diff Omni/Bild/Sources.json

# Rollback git checkout Omni/Bild/Sources.json `

3. Explain the file structure:

  • Sources.json = lockfile (pinned revs + hashes)
  • Sources.nix = niv boilerplate for fetching
  • Functions.nix = helpers (overridePinnedDeps, overrideSource)
  • Deps.nix = system package overlays
  • Deps/*.nix = custom derivations for new packages
  • Python.nix, Haskell.nix = language-specific overlays

4. Explain auto-override field purpose

Files: Omni/Bild/README.md

Timeline (2)

🔄[human]Open → InProgress1 month ago
🔄[human]InProgress → Done1 month ago