Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,480 events total
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.