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