feat: add optional Nix container flavor for docker-git projects#56
feat: add optional Nix container flavor for docker-git projects#56skulidropek wants to merge 2 commits intoProverCoderAI:mainfrom
Conversation
|
Design note 1/3 (feasibility): A full immediate switch from Ubuntu -> Nix for all generated containers is not cost-effective right now because we would couple infrastructure migration with product behavior changes. So this PR uses a dual-flavor architecture ( |
|
Design note 2/3 (runtime compatibility): Entrypoint logic expects legacy absolute paths ( This preserves existing shell/SSH startup behavior and avoids unrelated refactors in the same migration change. |
|
Design note 3/3 (migration strategy): Recommended rollout after merge:
This keeps team throughput high while collecting real-world data before any default-flavor flip. |
Summary
This PR implements a safe migration path toward Nix-based containers without breaking current users.
baseFlavorto project template config (ubuntu|nix), default =ubuntu--base-flavor <ubuntu|nix>--nix/--ubuntushorthandnixos/nix+nix profile install ...) while keeping existing Ubuntu path intact/usr/bin/zsh,/usr/sbin/sshd)docker-git.json(withoutbaseFlavor) still worksWhy this approach is practical
A hard switch to Nix for everyone is risky. This PR introduces a dual-mode system so teams can migrate project-by-project, compare stability/performance, and roll back instantly by switching flavor.
Proof (tests)
1) Parser supports new flags
2) Template generation supports Nix flavor
3) Type/lint checks for changed packages
Closes #36