!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

232 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture53 Servers

Load older messages


SenderMessageTime
9 Jun 2023
@infinisil:matrix.orginfinisil niksnut: Also, in case something you couldn't technically accept for Nix were accepted in an RFC, I expect you to be able to raise "substantial technical objections" (cited from the RFC readme) to prevent such changes from being merged 17:46:29
@syphoxy:matrix.org@syphoxy:matrix.org

I'm not sure if the peanut gallery is allowed to suggest things, I will promptly delete my message if not, but would pkgs/_XX be a sufficient compromise to the pkgs/unit/XX debacle? that is, any 3 character directory starting with an underscore is considered to be a shard. the underscore would give off the feeling of being an internal data structure as well, which would bring in the nuance that someone suggested with "auto." it would also be lexically grouped together in this way.

sorry in advance if I'm overstepping my bounds here.

17:58:48
@infinisil:matrix.orginfinisil sy: No problem at all, suggestions are always welcome by anybody! 17:59:34
@syphoxy:matrix.org@syphoxy:matrix.org *

I'm not sure if the peanut gallery is allowed to suggest things, I will promptly delete my message if not, but would pkgs/_XX be a sufficient compromise to the pkgs/unit/XX debacle? that is, any 3 character directory starting with an underscore is considered to be a shard. the underscore would give off the feeling of being an internal data structure as well, which would bring in the nuance that someone suggested with "auto." it would also be lexically grouped together in this way.

(strictly speaking, I find the idea of sharding for the sake of the GitHub UI to be unfortunate. I think it's weird that we're tying NixOS's design to GitHub's UX.)

sorry in advance if I'm overstepping my bounds here.

18:00:20
@infinisil:matrix.orginfinisil

sy: Interesting idea, I can see some minor problems with it:

  • Due to _ being listed before the alphabet, it would cause all the pkgs/top-level, pkgs/stdenv, etc. to be moved to the bottom of the file listing
  • File structures of repos should be considered internal by default, so a _ could be interpreted as something that's even more internal, something that even developers of the repo shouldn't touch, maybe a bit exaggerated though
18:02:26
@infinisil:matrix.orginfinisil Also I like how any separate pkgs/unit (s/unit/whatever/) allows you to put a Readme.md right in there to explain what it's about, though I think GitHub would also hide the rendered version after the 700 shards.. 18:04:25
@syphoxy:matrix.org@syphoxy:matrix.org

those are excellent points. I don't personally have anything to add to that but I do agree they are minor.

if we had to go the subdirectory route, I would vote on "shards" or "sharded" though I have very little interest in contributing to the naming discussion more than I already have.

(I am avoiding pkgs/unit here or pkgs/shards not as a statement but to focus the sharding structure.) regarding GitHub's UI, my only potentially naive rumination on the directory structure is that something like pkgs/A/B/${name}/package.nix or pkgs/A/B/C/${name}/packages.nix could be adopted instead of pkgs/AB/${name}/packages.nix or pkgs/AB/CD/${name}/packages.nix. having one letter levels would enforce that each level has a maximum of 26 directories. GitHub could surely be agreeable to that experience. given that there's a very large group of packages with the lib prefix it might even be appealing to have pkgs/A/B/C/D/${name}/package.nix

18:20:57
@infinisil:matrix.orginfinisil sy: Neat, I don't think we came up with that alternative yet! 18:23:26
@syphoxy:matrix.org@syphoxy:matrix.org *

those are excellent points. I don't personally have anything to add to that but I do agree they are minor.

if we had to go the subdirectory route, I would vote on "shards" or "sharded" though I have very little interest in contributing to the naming discussion more than I already have.

(I am avoiding pkgs/unit here or pkgs/shards not as a statement but to focus the sharding structure.) regarding GitHub's UI, my only potentially naive rumination on the directory structure is that something like pkgs/A/B/${name}/package.nix or pkgs/A/B/C/${name}/packages.nix could be adopted instead of pkgs/AB/${name}/packages.nix or pkgs/AB/CD/${name}/packages.nix. having one letter levels would enforce that each level has a maximum of 26+10+2 directories. GitHub could surely be agreeable to that experience. given that there's a very large group of packages with the lib prefix it might even be appealing to have pkgs/A/B/C/D/${name}/package.nix

18:23:43
@infinisil:matrix.orginfinisilBtw it's technically a bit more than just 26, because numbers, _ and - are also allowed :P18:24:11
@syphoxy:matrix.org@syphoxy:matrix.orghaha. yeah. I ninja edited that change just now.18:24:30
@infinisil:matrix.orginfinisil I think the biggest argument against such multi-level structures in general is that they cause ambiguities when the package name is too short. E.g. In a pkgs/A/B structure, where would a itself go? 18:25:27
@infinisil:matrix.orginfinisilThere are solutions to this, but it's an extra special case that needs to be explained and implemented.18:25:59
@infinisil:matrix.orginfinisil However, with only pkgs/A/B, there's only very few packages that would cause such problems, so it's very minor 18:26:28
@raitobezarius:matrix.orgraitobezariusthe pkgs/AB/CD is a classical thing BTW18:26:54
@syphoxy:matrix.org@syphoxy:matrix.orgoh. that's an excellent point. I guess if we used underscores..18:27:31
@infinisil:matrix.orginfinisilYeah that was one of the suggested ideas for handling this, using some replacement character18:27:52
@syphoxy:matrix.org@syphoxy:matrix.org* oh. that's an excellent point. I guess if we used underscores.. (or maybe prefix with s?)18:28:37
@syphoxy:matrix.org@syphoxy:matrix.org* oh. that's an excellent point. I guess if we used underscores..18:29:21
@k900:0upti.meK900 How bad of an idea would pkgs/_/AA/BB be 18:31:31
@infinisil:matrix.orginfinisil K900: The 2-level 2-prefix sharding would lead to most shards containing very few packages (I should measure this a bit better, but it's recorded as an argument in the RFC) 18:33:23
@k900:0upti.meK900 I mostly mean the _ part 18:33:56
@infinisil:matrix.orginfinisil K900: Using _ is nice and short compared to unit, though it feels like a hack, similar to how you can do let _ = 0; in _ :P 18:34:03
@infinisil:matrix.orginfinisilI guess it's solving the problem of naming though, because then you don't even have a name anymore lol18:34:28
@k900:0upti.meK900That's the idea, yeah18:36:38
@k900:0upti.meK900It's sorted first18:36:41
@k900:0upti.meK900And it's explicitly not a name18:36:43
@k900:0upti.meK900And it hopefully looks temporary18:36:50
@hexa:lossy.networkhexathere were arguments against a temporary name, like that moving things around breaks lots of assumptions about backports and out-of-tree usage18:37:29
@infinisil:matrix.orginfinisilHmm I don't think it should be intended to be temporary. Yes we hope to migrate to something else at some point, but this might also never happen or we completely change the direction. And this is in the scale of perhaps years18:38:34

Show newer messages


Back to Room ListRoom Version: 9