Declarative definitions
- nixos uses functional programming language to declare systems
- our approach is aiming to be more understandable by normal engineers
- we settled on yaml, because humans are editing them
- no SHAs for humans please
we want to take build-system declaration into definitions (stop auto detecting)
declarative
- defined buildsystem etc
- tooling can build it or not
- current tooling says it can't cope?
- declare compatibility version
- provide a tool to migrate from n-1
- declare what it can be built with?
yaml is not enough (need some executables (shell))
name debate - part-path or unique
extend definitions: - arch in definitions - build
how to build based on input information (eg build mesa based on use-flags)
propose to have default config/assumptions in definitions too
- a well known name to tell tooling
- VERSION version: integer and: other: fields:
where is the documentation of this? wiki document simpler version: 1
Action plan
- 0 document migration philosophy and tooling (expect frequent small changes) DONE
- 1 get version: 0 in place, tooling to detect it
- 2 define version 1, small delta, .def, s/system|stratum|chunk/component/