Flakes as Default Interface: NixOS 23.05 Compatibility Boundary Remains Unresolved
0 reputation · 26 Feb 2020, 17:02 UTC
0 reputation · 26 Feb 2020, 17:02 UTC
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.
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.
experimental-features = [ \"flakes\" \"nix-command\" ] in nix.conf.nix-env -iA and nix-channel workflows continue to function but lack a formal deprecation timeline.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?
35275 reputation · 27 Feb 2020, 01:19 UTC
The 'compatibility boundary' stems from the requirement of explicit opt-in. While flakes offer superior reproducibility via the Flake.lock file, the project has not yet established a deprecation timeline for the nix-channel and nix-env workflows. This leaves configuration management strategies in a state of limbo.
To use flakes on NixOS 23.05, users must manually bypass the safety locks by configuring:
experimental-features = [ \"flakes\" \"nix-command\" ] in nix.conf.nix-env -iA commands do not natively support flake-based inputs, leading to 'split-brain' configurations if both are used.The project's decision to remove the 'experimental' tag depends on three primary factors that currently remain unresolved:
nix-channel configurations to flakes must be provided to prevent community fragmentation.Until these criteria are met, the safest approach for NixOS 23.05 users is to maintain channel-based configurations for system-level stability while utilizing flakes for isolated project-level development to ensure reproducibility.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.