2023-05-02 Nixpkgs Architecture Team Meeting #37


RFC 140

  • Review changes
    • Relax requirement on references to files across
      “unit directory boundary”.
      • Allows legacy, e.g. non-unit directory expressions, to refer to files
        inside of unit directories.
      • Expressions inside of unit-directories are still unable to refer to files
        outside of their sub-tree.
      • Maps well to flake restrictions.
      • Simplifies CI/CD change detection.
    • Handling custom arguments.
      • Reverting recommendation about disallowing arguments to callPackage.
      • Intent was to improve readability, by making custom arguments live near
        the expressions/recipes they apply to ( as opposed to all-packages.nix ).
      • This may be a future requirement and there is still support for the “spirit”
        of the recommendation.
    • Split tasks into two phases.
      • Phase 1: establish unit directory standard
      • Phase 2: migration of existing packages
  • Schedule shepherd meeting

@growpotkin: Check for name collisions

Because directory names will map to package names, we must ensure that
we do not have any collisions on lower-case form package names.

This requirement is a result of case insensitive filesystems.

“foo” and “FoO” would collide on the path: unit/fo/foo/.

Packages Modules Working Group

Action items

  • @growpotkin: Check to see if any existing package names will collide.
  • @infinisil: Update RFC 140 text, schedule shepherd meeting
  • document Team + Working groups change
  • @infinisil will continue writing the tooling