| 10 Jul 2022 |
Rick (Mindavi) | In reply to @k900:0upti.me It's better to have a fixed convention than to argue about it every time Yes, but indeed always hard to enforce/add retroactively | 15:30:30 |
infinisil | It should probably be pkgs/prefixed/h/e/hello/default.nix, so a slow transition is possible | 15:30:52 |
infinisil | Also I like the idea of introducing tags, like meta.tags = [ "gui" "audio" "networking" ], and then having some functions/tools to filter/search by category | 15:31:53 |
infinisil | This could replace the loose categories of the file path | 15:32:25 |
kevincox | Do we even need subdirectories. Is performance on any modern filesystem or git bad for big directories? | 15:33:15 |
kevincox | I guess it doesn't hurt to be safe? | 15:33:28 |
K900 | Github web UI still chokes at over 1000 files | 15:33:32 |
infinisil | Yeah I think this is a main reason | 15:33:41 |
K900 | Also, there's NTFS | 15:33:47 |
kevincox | But either way I am 100x more in favour of flat + tags over hierarchy. | 15:33:49 |
K900 | Which we might want to support at some point | 15:33:56 |
Alyssa Ross | git works badly with big flat directories too | 15:34:08 |
K900 | And which has no dentry cache | 15:34:09 |
Alyssa Ross | because you have to store the whole tree every time | 15:34:15 |
Alyssa Ross | whereas with two levels of prefix directories you have to store 1/26^2 of the tree every time | 15:34:36 |
K900 | Man I really wish I had the brain juice to push this sort of stuff | 15:34:55 |
K900 | I'd love to see it happen but it's so much coordination work and I'm already burned out as is | 15:35:48 |
kevincox | Well you store the while tree but 99% is the same as last time so it compresses just like any other blob with a 1-line change. | 15:35:49 |
infinisil | K900: This team should help with that :D | 15:36:20 |
Alyssa Ross | that's true, but I don't compression will help as much as just not having to re-store something in the first place | 15:36:25 |
Alyssa Ross | additionally, it means diffing the whole tree rather than diffing three smaller tries | 15:36:47 |
Alyssa Ross | for which compression is an anti-optimisation | 15:37:09 |
infinisil | Problem: This is the list of <=2 letter attribute names in pkgs.*:
[ "R" "ag" "ao" "at" "b4" "bb" "bc" "cl" "cv" "db" "di" "ed" "em" "es" "et" "f2" "f3" "fd" "fq" "fx" "gd" "gh" "gn" "go" "gt" "gv" "gx" "h" "h2" "h3" "hr" "ht" "hy" "i3" "ii" "io" "ir" "iv" "iw" "ix" "j" "jc" "jd" "jl" "jo" "jp" "jq" "jx" "k6" "kn" "ko" "kt" "lf" "lr" "lv" "ly" "m4" "mc" "mg" "mm" "mr" "mu" "mx" "n3" "nb" "ne" "nq" "oh" "oq" "ox" "p4" "pn" "ps" "pt" "pv" "rc" "rq" "rr" "rs" "rt" "rw" "rx" "s6" "sd" "sl" "so" "sq" "st" "su" "sx" "t" "td" "tk" "tm" "ts" "tv" "tz" "ua" "up" "uq" "v8" "vc" "vp" "ws" "wt" "wv" "xa" "xd" "xe" "xh" "xv" "xz" "yi" "yj" "yq" "z3" "zk" "zx" "zz" ]
| 15:37:46 |
Alyssa Ross | infinisil: you can choose the prefixes based on some criteria apart from length, that's fine | 15:38:25 |
Alyssa Ross | e.g. I saw some package list (maybe from Debian?) that mostly had one letter prefixes but also had a ones for "liba", "libb", etc. | 15:38:49 |
infinisil | If we want to do auto-calling of these packages, then the attribute name should be determined from the file path though 🤔 | 15:39:27 |
Alyssa Ross | this doesn't prevent that? | 15:39:43 |
Alyssa Ross | attr name is just the last component of the path | 15:39:49 |
infinisil | Ah I see | 15:39:54 |
Alyssa Ross | "pkgs/prefixed/libg/libgit2" | 15:40:24 |