2026/05/26

2026-05-26 00:10:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 00:14:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-05-26 00:25:44 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 00:30:19 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-05-26 00:30:58 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 276 seconds)
2026-05-26 00:30:59 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-05-26 00:36:02 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-05-26 00:36:42 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-05-26 00:41:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 00:43:20 +0000 <jj> hey haskell folks. i've got a project with a cabal build file that i copied over to a new machine. ran cabal build, it put a dist-newstyle folder smack in the middle of the project. how might i tell cabal to not do this?
2026-05-26 00:45:10 +0000 <humasect> internet says it is nix-style build, instead of ./dist/
2026-05-26 00:46:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-05-26 00:47:45 +0000 <Clint> jj: what do you want it to do instead?
2026-05-26 00:48:09 +0000czan(~czan@user/mange) czan
2026-05-26 00:49:00 +0000 <jj> Clint: have it be put anywhere but there, basically. hidden in the project folder would be fine; a shared cache in ~/.local would be fine. looks like nix-style builds are what i want (weird name though)
2026-05-26 00:49:00 +0000gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2026-05-26 00:49:40 +0000 <humasect> as said, CABAL_BUILDDIR - as seen at - https://cabal.readthedocs.io/en/latest/config.html
2026-05-26 00:49:41 +0000gmg(~user@user/gehmehgeh) gehmehgeh
2026-05-26 00:49:53 +0000 <humasect> recomments .gitignore etc
2026-05-26 00:53:29 +0000 <geekosaur> I don't think cabal lets you put it outside the project directory, because it's inherently project-specific and must not be shared
2026-05-26 00:54:53 +0000 <geekosaur> and "nix-style" refers to the store, not the build dir
2026-05-26 00:55:05 +0000 <geekosaur> (basically, it means the store works like nix's)
2026-05-26 00:55:40 +0000 <geekosaur> whereas cabal v1 slapped everything in the same place, leading to "cabal hell"
2026-05-26 00:56:15 +0000 <humasect> see link. w/e
2026-05-26 00:57:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 00:57:27 +0000 <jj> i'm now quite lost. it appears i was mistaken and the nix-style builds (v2 build, now default, terrible name) is what is causing this dist folder to be named dist-newstyle. i see a CABAL_BUILDDIR env var in the docs. however, there's a note by it saying nix-style builds (dist-newstyle) are not affected by this environment variable, with no further elaboration on how to make v2-style builds not write to a dist-newstyle folder
2026-05-26 00:58:29 +0000humasectlooks at watch.
2026-05-26 00:59:40 +0000Guest77(~Guest77@2600:387:f:a15::8)
2026-05-26 01:00:16 +0000 <geekosaur> you can try --distdir, but don't bet on it allowing you to put it outside the project, as I already said
2026-05-26 01:00:21 +0000 <jj> i'd like to set the default build directory somewhere globally if possible. anyone know how to do this? poking around ~/.config/cabal/config reveals a `builddir` key, which... supplies a warning that it will be ignored after being set??
2026-05-26 01:00:52 +0000 <sclv> if should not be global. nix style builds are necessarily local
2026-05-26 01:01:19 +0000 <Guest77> *throws death potion at others*
2026-05-26 01:02:14 +0000 <sclv> the whole point of the system is to not have a single global directory but to handle things per project.
2026-05-26 01:02:45 +0000 <jj> sclv: i mean the literal name of the directory. i don't mind if it's scoped to the project folder.
2026-05-26 01:03:58 +0000Guest77(~Guest77@2600:387:f:a15::8) (Client Quit)
2026-05-26 01:04:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-05-26 01:04:40 +0000 <jj> geekosaur: --distdir seems to work, thx. would be curious if you know if there's a global key for this
2026-05-26 01:05:01 +0000Guest77(~Guest77@2600:387:f:a15::8)
2026-05-26 01:06:28 +0000 <Guest77> *throws death potion at others*
2026-05-26 01:06:41 +0000 <sclv> why do you not like the name?
2026-05-26 01:06:46 +0000ChanServ+o monochrom
2026-05-26 01:06:52 +0000monochrom+b *!*@2600:387:f:a15::8
2026-05-26 01:06:52 +0000Guest77monochrom (Guest77)
2026-05-26 01:06:58 +0000monochrom-o monochrom
2026-05-26 01:07:04 +0000prdak(~Thunderbi@user/prdak) prdak
2026-05-26 01:07:50 +0000 <jj> it's not very evocative of what it does. i'd rather it be called dist or target or _output or something hidden.
2026-05-26 01:08:22 +0000 <geekosaur> There isn't because every project would use that directory and they'll conflict with each other
2026-05-26 01:08:32 +0000 <monochrom> "dist" was taken. by v1.
2026-05-26 01:09:03 +0000xff0x(~xff0x@2405:6580:b080:900:5801:469a:d89d:a8ee) (Ping timeout: 246 seconds)
2026-05-26 01:10:30 +0000 <monochrom> geekosaur, I now think that jj means that if $HOME/.cabal/config could accept a setting like "distdir: foo" then every project would have a foo instead of a dist-newstyle.
2026-05-26 01:11:25 +0000 <jj> that is what i mean, but i think geekosaur probably is hinting at that --distdir can take absolute paths
2026-05-26 01:11:52 +0000 <jj> do yall know of any option to set distdir in a .cabal file?
2026-05-26 01:12:24 +0000 <jj> newstyle, nix-style, v2-style... an unfortunate abundance of names
2026-05-26 01:12:51 +0000 <monochrom> I don't know how to cofig this because I never felt the need to because I have long been disillusioned about "meaningful" names.
2026-05-26 01:13:30 +0000 <geekosaur> Actually I'm expecting that giving it an absolute path would raise an error
2026-05-26 01:13:51 +0000 <geekosaur> It's too big a footgun
2026-05-26 01:14:20 +0000 <jj> absolute path appears to work fine
2026-05-26 01:14:44 +0000 <monochrom> It is a footgun to have two projects use the same directory.
2026-05-26 01:14:50 +0000 <jj> ah, there is a closed rfc about naming this literally anything other than dist-newstyle lmfao. rip
2026-05-26 01:15:08 +0000 <monochrom> But you have never had that problem because you have only one project for now.
2026-05-26 01:15:19 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 01:15:33 +0000 <geekosaur> Also "nix-style" is gradually going away because it confuses people into thinking Nix is involved or even required
2026-05-26 01:15:41 +0000 <monochrom> There has never been any RFC about accurate names.
2026-05-26 01:16:10 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-05-26 01:16:13 +0000 <jj> monochrom: https://github.com/haskell/cabal/issues/5731
2026-05-26 01:17:41 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-26 01:19:05 +0000 <monochrom> Well yeah like some of the comments say, changing it now after all these years break backward compatibility unless configurable with traditional default.
2026-05-26 01:19:59 +0000 <monochrom> cabal-plan is probably one program that currently assumes "dist-newstyle" and needs to know the new setting
2026-05-26 01:20:24 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-26 01:20:35 +0000 <monochrom> Then again probably only cabal-plan needs it.
2026-05-26 01:20:39 +0000acidjnk_new(~acidjnk@p200300d6e700e587d0d964644d901e6e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2026-05-26 01:22:03 +0000 <geekosaur> there's some others, but at least some are broken because they weren't updated when XDG support was added
2026-05-26 01:22:09 +0000 <monochrom> Also consider "nix-style nix integration" just for fun >:)
2026-05-26 01:23:19 +0000 <geekosaur> I do think "dist-newstyle" is a fairly lousy name though because it's not really. (it's project, whereas "dist" is package)
2026-05-26 01:24:18 +0000 <geekosaur> I kinda feel like it might have been better to use the same convention as local project config and freeze file
2026-05-26 01:24:34 +0000 <monochrom> How would they miss the opportunity of ".cabal-secret" back then? >:)
2026-05-26 01:24:47 +0000cyclemaniac(~cyclemani@2a02:8071:881:2d20:c1c7:793e:b89b:1589) (Ping timeout: 245 seconds)
2026-05-26 01:26:24 +0000 <monochrom> Even ".there-is-no-cabal" would have worked great.
2026-05-26 01:32:49 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds)
2026-05-26 01:33:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 01:38:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 262 seconds)
2026-05-26 01:39:13 +0000polykernel(~polykerne@user/polykernel) (Ping timeout: 276 seconds)
2026-05-26 01:46:13 +0000Square2(~Square4@user/square) (Remote host closed the connection)
2026-05-26 01:48:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 01:49:25 +0000Square(~Square@user/square) Square
2026-05-26 01:53:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-05-26 02:04:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 02:05:37 +0000prdak(~Thunderbi@user/prdak) (Ping timeout: 272 seconds)
2026-05-26 02:07:44 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-05-26 02:09:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-05-26 02:12:00 +0000Square(~Square@user/square) (Ping timeout: 263 seconds)
2026-05-26 02:14:18 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-05-26 02:20:10 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 02:23:25 +0000Garbanzo(~Garbanzo@2602:304:6eac:dc10::49)
2026-05-26 02:25:18 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-26 02:35:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 02:42:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-26 02:44:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 02:48:36 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-26 02:56:02 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-05-26 02:59:27 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 03:04:21 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-26 03:07:41 +0000czan(~czan@user/mange) (Ping timeout: 272 seconds)
2026-05-26 03:15:14 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 03:20:18 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-05-26 03:27:29 +0000Inline(~noOne@ipservice-092-208-182-236.092.208.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
2026-05-26 03:31:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 03:35:09 +0000notzmv(~umar@user/notzmv) (Ping timeout: 252 seconds)
2026-05-26 03:35:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 241 seconds)
2026-05-26 03:48:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 03:53:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 243 seconds)
2026-05-26 03:57:45 +0000Sgeo_(~Sgeo@user/sgeo) Sgeo
2026-05-26 04:00:27 +0000Sgeo(~Sgeo@user/sgeo) (Ping timeout: 252 seconds)
2026-05-26 04:00:56 +0000potatoes_(~quassel@130.44.145.181)
2026-05-26 04:01:31 +0000potatoes(~quassel@user/potatoes) (Ping timeout: 264 seconds)
2026-05-26 04:03:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 04:08:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-26 04:19:36 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 04:20:46 +0000trampi(~trampi@mx.trampusch.info) (Read error: Connection reset by peer)
2026-05-26 04:21:06 +0000trampi(~trampi@mx.trampusch.info) trampi
2026-05-26 04:26:33 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 267 seconds)
2026-05-26 04:33:09 +0000michalz(~michalz@185.246.207.197)
2026-05-26 04:37:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 04:39:41 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-05-26 04:39:49 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-05-26 04:42:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-05-26 04:53:30 +0000merijn(~merijn@62.45.136.136) merijn
2026-05-26 04:54:11 +0000EvanR(~EvanR@user/evanr) (Ping timeout: 250 seconds)
2026-05-26 04:58:04 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 249 seconds)
2026-05-26 04:59:44 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-05-26 05:00:25 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 272 seconds)
2026-05-26 05:00:45 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-05-26 05:10:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 05:12:44 +0000UrbanNorminal(~urbannorm@user/UrbanNorminal) UrbanNorminal
2026-05-26 05:15:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-05-26 05:20:42 +0000bedbedbde(~bedbedbde@user/bedbedbde) (Quit: bedbedbde)
2026-05-26 05:21:30 +0000emilym(~Thunderbi@user/emilym) emilym
2026-05-26 05:28:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-05-26 05:32:36 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 256 seconds)
2026-05-26 05:32:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)