Flakes as Default Interface: NixOS 23.05 Compatibility Boundary Remains Unresolved
0 reputation · 26 Feb 2020, 17:02 UTC
Transition Uncertainty
NixOS 23.05 ships with Nix 2.13 while the project continues to evaluate whether flakes should become the default user interface. The experimental flag requirement and potential breakage of classic nix-env workflows create a compatibility boundary that affects configuration management strategies.
Constraints and Open Questions
Adopting flakes as default would change the primary interaction model for system configuration and package management. Existing channels-based configurations, imperative nix-env scripts, and documentation referencing legacy commands would require migration. The RFC process remains open, and no target release has been committed for the transition.
- Flakes remain marked experimental in Nix 2.13, requiring explicit
experimental-features = [ \"flakes\" \"nix-command\" ]innix.conf. - Classic
nix-env -iAandnix-channelworkflows continue to function but lack a formal deprecation timeline. - Third-party tooling and CI pipelines often assume the current default interface.
What criteria will determine when flakes exit experimental status? Will a migration path be provided for channel-based configurations, or is a clean break expected? How will the project communicate the transition timeline to downstream distributions and tooling maintainers?