| 2 Aug 2022 |
profpatsch | err | 06:33:20 |
profpatsch | (lam { x = 4; } [(sym "+") 38 (var "x")]) | 06:33:26 |
profpatsch | Still doesn’t make sense I need some caffeine. Not trivial tho :) | 06:34:04 |
profpatsch | I guess the advantages over just writing the sexp in a string are miniscule. | 06:35:33 |
profpatsch | (which of course always has the problem that people are lazy and not escaping is nearly always easier than escaping) | 06:36:22 |
infinisil | John Ericson: Is it right to say that this code here is the main handling of cross compilation? https://github.com/NixOS/nixpkgs/blob/34d312e938349998e50a887eda3e07bb54e877ff/pkgs/stdenv/generic/setup.sh#L312-L657 | 10:00:51 |
infinisil | I'm creating a list of things bash is currently used for | 10:02:15 |
infinisil | My dropbox storage for recordings has almost run out, so I created a YouTube channel for this team and uploaded the recordings there: https://www.youtube.com/channel/UC_BFweJOiukTHdKCr1P0kRQ | 11:02:58 |
infinisil | I did ask the owners of https://www.youtube.com/c/NixOS-Foundation if I could upload videos there, but I didn't get a reply.. | 11:03:43 |
Alyssa Ross | We have PeerTube and YouTube channels for NixCon, but I guess this isn't really NixCon… | 11:06:48 |
infinisil | In reply to @infinisil:matrix.org I did ask the owners of https://www.youtube.com/c/NixOS-Foundation if I could upload videos there, but I didn't get a reply.. (It's a bit more complicated than that. I asked multiple people, but they either didn't have permission for giving others upload rights, or didn't reply) | 11:15:56 |
infinisil | In reply to @infinisil:matrix.org I did ask the owners of https://www.youtube.com/c/NixOS-Foundation if I could upload videos there, but I didn't get a reply.. * (It's a bit more complicated than that. I asked multiple people, but they either didn't have permission for giving others upload rights, or didn't give an answer) | 11:16:05 |
infinisil | Summarizing the generic problems of bash, here's the ones I can think of:
- No data structures or other abstractions
- No proper modules/libraries
- Not testable
- Poorly documentable
| 11:57:11 |
infinisil | Not testable is a big one imo | 11:57:30 |
infinisil | If we could properly test all the bash setup hooks in nixpkgs we'd be much less afraid of changing them and breaking everything | 11:58:16 |
j-k | In reply to @infinisil:matrix.org Not testable is a big one imo I know someone who's a big fan of bats that would disagree 😅 | 11:59:34 |
infinisil | bats? | 11:59:48 |
j-k | My only worry is everyone accepts bash, g | 12:00:01 |
j-k | * https://github.com/bats-core/bats-core | 12:00:13 |
infinisil | Neat! We should consider this as an option too | 12:01:10 |
j-k | My main worry with having the lowest level of nixpkgs, and similarly the rest of nixpkgs, using something other than bash is bash is well accepted, getting people to be happy with a different tool can be extra onboarding friction | 12:01:25 |
infinisil | I believe most users won't have to interact with bash directly | 12:02:21 |
infinisil | An estimated 95% of packages don't rely on bash-specifics | 12:02:45 |
infinisil | As in, the packages Nix expression | 12:03:00 |
j-k | it's not about interaction, its about tool ingestion. People are finally cluing up on supply-chain security and actually reviewing they programs they depend on | 12:03:20 |
infinisil | Does bash have an advantage there? | 12:04:21 |
infinisil | E.g. one of the alternatives that has been considered is Lua | 12:04:43 |
j-k | I don't think there's a single organization on the planet that would have to go out of their way to approve bash. everyone accepts it as a dependency of something | 12:05:11 |
infinisil | You do have a point there | 12:05:54 |
j-k | currently you'd just need to say, "we need to onboard nix, the rest is likely onboarded: stdenv tools which are pretty standard everywhere (core-utils, gcc), fetchers that use git & curl". Adding in 1 extra odity is probably not a big blocker but it is another blocker | 12:08:03 |