Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Explain what unit is #16

Closed
infinisil opened this issue Nov 14, 2022 · 2 comments · Fixed by #20
Closed

Explain what unit is #16

infinisil opened this issue Nov 14, 2022 · 2 comments · Fixed by #20

Comments

@infinisil
Copy link
Member

The current draft uses pkgs/unit/<name>/pkg-fun.nix as the directory structure. We should explain what "unit" is and why that name is fitting.

We decided on this name among other candidates in the last meeting.

On discourse, @blaggacao points out that std's "cell" concept is the same as the "unit" we're talking about here.

Also on Discourse I proposed this general description of a "unit" in nixpkgs:

A collection of standardized files related to the same software component

@blaggacao
Copy link
Contributor

blaggacao commented Nov 14, 2022

A standardized collection of functionality related to the same software component

( "files" → "functionality")

In the context of nixpkgs, a Collection of (Nix) Packages, the "software component", in a sense that goes actually beyond a "package", is the domain around which related functionality accrues.

  • "Files" describe what we see.

  • "Functionality" how we should represent them in our mental model.

See also the quite similar mental model of The 4 Layers of Packaging.

/cc @Ericson2314 re "layers" 😉

... which begs the question, will you rebrand to @Ericson1234 once the (nix &) nixpkgs architecture is properly layered (in "units of related functionality")? 😉

@Ericson2314
Copy link
Contributor

@blaggacao I am not too concerned at this point, because we can "soft launch" the "unit" name in the repo file path (implementation detail, private) before putting it somewhere more public.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants