-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
nix.conf.json #8373
Copy link
Copy link
Open
Labels
UXThe way in which users interact with Nix. Higher level than UI.The way in which users interact with Nix. Higher level than UI.featureFeature request or proposalFeature request or proposalsettingsSettings, global flags, nix.confSettings, global flags, nix.conf
Metadata
Metadata
Assignees
Labels
UXThe way in which users interact with Nix. Higher level than UI.The way in which users interact with Nix. Higher level than UI.featureFeature request or proposalFeature request or proposalsettingsSettings, global flags, nix.confSettings, global flags, nix.conf
Fields
Give feedbackNo fields configured for issues without a type.
Is your feature request related to a problem? Please describe.
The config format is a bit fragile. Let's use semi-structured data instead. This enables us to accept more complex settings where it makes sense; for instance a JSON object ("attrset") would be great for configuring individual stores.
Describe the solution you'd like
Allow "nix.conf" to be specified in JSON instead.
nlohmann_json has support for stripping out comments.
No more escaping, no more text parsing, and support for a wider range of values. Great compatibility with the Nix language as well.
Describe alternatives you've considered
Configuration formats like YAML, TOML may be considered. These aren't quite as easy to generate or parse.
YAML is too fragile (Norway problem, etc)
TOML would bias our data model away from composable structures.
Nix is not actually easy to generate from Nix, and needing an evaluator to configure the evaluator would complicate initialization.
Additional context
Priorities
Add 👍 to issues you find important.