Logs: liberachat/#haskell
| 2021-07-25 20:55:30 | <drakonis> | cool |
| 2021-07-25 20:55:38 | <arkanoid> | drakonis: I'm a new nix user, may I ask what's the deal? |
| 2021-07-25 20:56:17 | <drakonis> | nix has grown incredibly fast and hasn't adapted to it |
| 2021-07-25 20:56:36 | <drakonis> | i'd say its ideas are great but the implementation is archaic |
| 2021-07-25 20:57:08 | <drakonis> | nix is something that is best implemented inside a complete language instead of rolling out your own |
| 2021-07-25 20:57:16 | × | ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.) |
| 2021-07-25 20:57:17 | × | acro quits (~acro@user/acro) (Quit: Bye.) |
| 2021-07-25 20:57:55 | <arkanoid> | drakonis: what scares me is the git commit requirements to keep everything on track. I mean, every package update is a git commit, the effort is massive |
| 2021-07-25 20:58:35 | × | nate3 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2021-07-25 20:58:41 | <janus> | how is that a problem? rebasing is easy |
| 2021-07-25 20:58:59 | → | acro joins (~acro@user/acro) |
| 2021-07-25 20:59:27 | <drakonis> | nix routinely has gobs of commits aiming to clean up the inconsistent packaging |
| 2021-07-25 20:59:39 | × | meinside_ quits (uid24933@id-24933.brockwell.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-07-25 21:00:01 | <arkanoid> | I mean that the pressure on admins is huge |
| 2021-07-25 21:00:40 | <janus> | ah right... yeah i guess that's what they're trying to solve with flakes |
| 2021-07-25 21:00:47 | <janus> | just to open up another can of worms ;) |
| 2021-07-25 21:01:00 | <arkanoid> | exactly |
| 2021-07-25 21:01:09 | <DigitalKiwi> | .glirclogs/#haskell/2021-03-27.log:[00:42:11] <DigitalKiwi> nix is great in that it solves a ton of problems i had, even more i didn't know i had, makes things trivial that i didn't even think were possible or know i wanted, and creates a bunch of problems along the way! (and solves those too though lol) |
| 2021-07-25 21:01:50 | <drakonis> | flakes is one of those things trying to paper over the issues |
| 2021-07-25 21:02:00 | <drakonis> | because nix does not do multiple sources all that well |
| 2021-07-25 21:02:06 | <sm> | arkanoid there's also Liquid Haskell |
| 2021-07-25 21:02:34 | <arkanoid> | DigitalKiwi: yes but is a moving target. I mean, not your nix-shell, but the project is a huge machine with one million gears that have to be perfectly aligned to work |
| 2021-07-25 21:02:49 | <drakonis> | arkanoid: it has a rather large amount of leaf packages |
| 2021-07-25 21:02:59 | <drakonis> | it has very little quality control too |
| 2021-07-25 21:03:28 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-25 21:03:38 | <janus> | can nix be typed? would it solve the problem of aligning 1M gears? |
| 2021-07-25 21:04:02 | → | ouroboros joins (~ouroboros@user/ouroboros) |
| 2021-07-25 21:04:07 | × | fendor quits (~fendor@77.119.223.76.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-07-25 21:04:25 | <arkanoid> | drakonis: well hydra does kinda large work for quality control |
| 2021-07-25 21:04:32 | <drakonis> | guix has cuirass as well |
| 2021-07-25 21:04:41 | <drakonis> | janus: they tried that once, it became a new lang |
| 2021-07-25 21:04:49 | <drakonis> | i'm not exactly happy with that but well |
| 2021-07-25 21:04:57 | <janus> | drakonis: oh, what is that called? |
| 2021-07-25 21:05:01 | <drakonis> | nickel |
| 2021-07-25 21:05:16 | <drakonis> | they're going for the config lang crowd lol |
| 2021-07-25 21:05:28 | <drakonis> | it feels like a vanity project at this point |
| 2021-07-25 21:05:55 | <drakonis> | hydra is not quality control though |
| 2021-07-25 21:06:02 | <drakonis> | its for building the archive |
| 2021-07-25 21:06:28 | <arkanoid> | yeah but at least it tell you which derivation builds |
| 2021-07-25 21:07:04 | <drakonis> | sure, but when someone's already writing a package for submission, they've already made sure it works to some degree |
| 2021-07-25 21:07:41 | <maerwald> | heh |
| 2021-07-25 21:07:46 | <maerwald> | that degree can vary wildly |
| 2021-07-25 21:07:50 | <drakonis> | indeed it can |
| 2021-07-25 21:07:58 | <drakonis> | and with how nix works, there are a lot of edge cases |
| 2021-07-25 21:08:01 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
| 2021-07-25 21:08:05 | <drakonis> | so, exhibit A: |
| 2021-07-25 21:08:14 | <arkanoid> | yeah, but then one dependency gets updated and you're back to hydra until libc get's updated and you rebuild all |
| 2021-07-25 21:08:16 | <drakonis> | have you noticed that nobody recommends you to use profiles these days? |
| 2021-07-25 21:08:18 | <monochrom> | Yes, it works on their computer. |
| 2021-07-25 21:08:31 | <DigitalKiwi> | good luck getting the hydra ui to load before the heat death of the universe |
| 2021-07-25 21:08:38 | <drakonis> | cuirass is very sane thankfully |
| 2021-07-25 21:08:43 | <drakonis> | but back to A |
| 2021-07-25 21:09:09 | <drakonis> | as it turns out, the nix community has pretty much reduced nix-env/profiles to irrelevance |
| 2021-07-25 21:09:11 | <sm> | I'm hoping tweag's nickel might be nix 2 |
| 2021-07-25 21:09:33 | <sm> | I assume it's closer to that than guix is |
| 2021-07-25 21:09:35 | <drakonis> | due to the majority of packages expecting you to run them with nix-shell |
| 2021-07-25 21:09:36 | <drakonis> | nahhhh |
| 2021-07-25 21:09:36 | <arkanoid> | to me the best nix feature is nix-shell |
| 2021-07-25 21:09:42 | <drakonis> | its not going to be nix 2 |
| 2021-07-25 21:09:44 | <DigitalKiwi> | i'm under the impression nickel is diw |
| 2021-07-25 21:09:50 | <drakonis> | diw? |
| 2021-07-25 21:09:54 | <DigitalKiwi> | dead in water |
| 2021-07-25 21:10:08 | × | ubert quits (~Thunderbi@91.141.46.134.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 2021-07-25 21:10:10 | <drakonis> | nickel is a vanity project that isnt going to reasonably compete with guix because, first of all |
| 2021-07-25 21:10:24 | <drakonis> | guile scheme is a general purpose language |
| 2021-07-25 21:10:39 | <monochrom> | http://math.andrej.com/2008/02/02/the-hydra-game/ also has a chance of not ending until the heat death of the universe :) |
| 2021-07-25 21:11:01 | <drakonis> | nix-shell is imo a way to corner yourself with package design |
| 2021-07-25 21:11:41 | <drakonis> | it makes package interop a lot harder than it needs to be |
| 2021-07-25 21:12:10 | <hendursaga> | drakonis: pardon, what's nickel? |
| 2021-07-25 21:12:31 | <DigitalKiwi> | https://github.com/tweag/nickel |
| 2021-07-25 21:12:32 | <drakonis> | https://github.com/tweag/nickel |
| 2021-07-25 21:12:34 | <arkanoid> | drakonis: I find nix-shell much more convenient than docker environment to make portable/reproducible projects |
| 2021-07-25 21:12:34 | <drakonis> | thre |
| 2021-07-25 21:12:35 | <drakonis> | there |
| 2021-07-25 21:12:38 | <drakonis> | indeed it is |
| 2021-07-25 21:12:56 | × | curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 255 seconds) |
| 2021-07-25 21:13:10 | <drakonis> | however making environments that require package interop can be a pain |
| 2021-07-25 21:13:25 | <drakonis> | i wanted to try ocaml with nix and as it turns out, there are multiple ways to get ocaml to work |
| 2021-07-25 21:13:38 | <drakonis> | each one of them has a specific function you have to invoke in order to generate an environment |
| 2021-07-25 21:13:40 | × | acro quits (~acro@user/acro) (Quit: Bye.) |
| 2021-07-25 21:13:40 | × | ouroboros quits (~ouroboros@user/ouroboros) (Quit: Bye.) |
| 2021-07-25 21:13:53 | × | zeenk quits (~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38) (Quit: Konversation terminated!) |
| 2021-07-25 21:14:30 | <drakonis> | the way nixpkgs works is that it does not assume you're going to want interop |
| 2021-07-25 21:14:41 | <DigitalKiwi> | [12:36:15] * DigitalKiwi has 4 SML compilers |
| 2021-07-25 21:14:41 | <DigitalKiwi> | [12:36:19] * DigitalKiwi rarely writes SML |
| 2021-07-25 21:14:45 | <drakonis> | lol |
| 2021-07-25 21:14:58 | <drakonis> | let me find the manual, the new website is uhhh |
| 2021-07-25 21:15:04 | <drakonis> | not as good as i originally thought it'd be |
| 2021-07-25 21:15:10 | <monochrom> | haha |
| 2021-07-25 21:15:15 | <geekosaur> | isn't that always true? |
| 2021-07-25 21:15:17 | <hendursaga> | arkanoid: have you tried buildah yet? for containers. |
| 2021-07-25 21:15:54 | <drakonis> | when i was running nixos, i had to turn to running containers, as otherwise i'd have to bang my head against the weird interactions |
| 2021-07-25 21:16:19 | <drakonis> | https://nixos.org/manual/nixpkgs/stable/#chap-language-support refer to this |
| 2021-07-25 21:16:34 | <arkanoid> | hendursaga: yeah, tried buildah, podman and others. I'm generally speaking about containers. Nix gives stronger assumptions, also you can build docker images with nix |
| 2021-07-25 21:16:51 | <maerwald> | I can also build them without nix |
| 2021-07-25 21:17:04 | <drakonis> | we're in a world where languages have to do interop, heck, even nix has to call out to other languages, since it is so limited |
| 2021-07-25 21:17:11 | → | acro joins (~acro@user/acro) |
| 2021-07-25 21:17:14 | → | Null_A joins (~null_a@2601:645:8700:2290:b1d7:1b8a:64ba:1a81) |
| 2021-07-25 21:17:14 | <DigitalKiwi> | https://christine.website/blog/i-was-wrong-about-nix-2020-02-10 |
| 2021-07-25 21:17:16 | <drakonis> | 15.25.2.3.2. Python package using maturin |
All times are in UTC.