Home liberachat/#xmonad: Logs Calendar

Logs on 2022-10-15 (liberachat/#xmonad)

00:12:03 × chomwitt quits (~chomwitt@80.106.160.196) (Ping timeout: 252 seconds)
00:47:16 xtayex1 joins (~xtayex@180.160.67.85)
00:52:06 logzet_ joins (~quassel@2001:9e8:e51d:8e00:dabb:c1ff:fed3:a1b9)
00:52:18 × logzet quits (~quassel@2001:9e8:e50c:ca00:dabb:c1ff:fed3:a1b9) (Ping timeout: 264 seconds)
01:05:35 × xtayex1 quits (~xtayex@180.160.67.85) (Ping timeout: 252 seconds)
02:04:37 × banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 252 seconds)
02:23:39 banc joins (banc@gateway/vpn/airvpn/banc)
02:26:37 × td_ quits (~td@83.135.9.35) (Ping timeout: 268 seconds)
02:28:18 td_ joins (~td@83.135.9.18)
02:45:49 berberman joins (~berberman@user/berberman)
03:47:00 xtayex1 joins (~xtayex@180.160.67.85)
05:49:36 × xtayex1 quits (~xtayex@180.160.67.85) (Ping timeout: 264 seconds)
06:27:09 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
06:45:01 × logzet_ quits (~quassel@2001:9e8:e51d:8e00:dabb:c1ff:fed3:a1b9) (Ping timeout: 260 seconds)
07:26:49 Phaseditto joins (~Phaseditt@p200300f03f3bd9008d7902a993fd5916.dip0.t-ipconnect.de)
07:29:44 <Phaseditto> Heyho. Not sure if i am in the correct place to ask about this but here goes: Xmonad on Void, anyone ever had the pleasure? It does not quite work due to the fact that it cannot re-compile itself (though i don't exactly know why). If anyone has some deeper knowledge about this case, sharing the info on it would be appreciated
07:30:07 <Phaseditto> (And yes i already asked around with the Void Linux people, they don't know either)
08:06:32 <[Leary]> Phaseditto: A brief look around google suggests that xmonad recompilation is known to be broken on Void, and that no one is fixing it. I suggest you remove the version from the repos and install xmonad via cabal or stack; whichever one can be made to behave on Void. See: https://xmonad.org/INSTALL.html
08:09:39 Kaladin joins (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net)
08:23:22 × Kaladin quits (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) (Quit: Leaving)
09:00:10 <Phaseditto> [Leary] Been that far myself. The issue is that if you install xmonad via cabal for instance, the self recompilation does not work aswell, i haven't tried stack yet and i also do not know why the recompilation does not work to begin with.
09:05:01 <Phaseditto> I may just try to install via stack. If that works i will just use that.
09:33:42 xtayex1 joins (~xtayex@180.160.67.85)
10:25:58 × arslonga[m] quits (~uuuuuuuum@2001:470:69fc:105::1589) (Remote host closed the connection)
10:25:58 × ChaoticMist[m] quits (~gilganixm@2001:470:69fc:105::3d09) (Remote host closed the connection)
10:25:58 × lions[m] quits (~lionsmatr@2001:470:69fc:105::d1fe) (Remote host closed the connection)
10:25:58 × Balrog[m] quits (~M0x62616c@2001:470:69fc:105::2:9152) (Remote host closed the connection)
10:25:58 × Tisoxin quits (~ikosit@user/ikosit) (Read error: Connection reset by peer)
10:25:58 × qbit_m quits (~qbittapen@2001:470:69fc:105::194) (Read error: Connection reset by peer)
10:25:59 × yuu[m] quits (~yuum]@2001:470:69fc:105::8a6) (Write error: Connection reset by peer)
10:25:59 × valarMorghulis[m quits (~lladeebll@2001:470:69fc:105::2:72) (Remote host closed the connection)
10:25:59 × MangoIV[m] quits (~mangoivma@2001:470:69fc:105::2:8417) (Read error: Connection reset by peer)
10:25:59 × NONstope[m] quits (~nonstopem@2001:470:69fc:105::2:8d1c) (Remote host closed the connection)
10:25:59 × uhoreg quits (~uhoreg@2001:470:69fc:105::35f) (Remote host closed the connection)
10:25:59 × SridharRatnakuma quits (~sridmatri@2001:470:69fc:105::1c2) (Write error: Connection reset by peer)
10:25:59 × Neo[Envs][m] quits (~neovoiden@2001:470:69fc:105::2:b07) (Remote host closed the connection)
10:25:59 × liskin[m] quits (~liskinmat@2001:470:69fc:105::768) (Remote host closed the connection)
10:25:59 × sogens[m] quits (~sogensmat@2001:470:69fc:105::1:20a1) (Remote host closed the connection)
10:26:00 × sibi quits (~sibi@2001:470:69fc:105::8ab) (Remote host closed the connection)
10:26:00 × geekosaur[m] quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
10:26:00 × mikevan[m] quits (~mikevanto@2001:470:69fc:105::2:7ef5) (Remote host closed the connection)
10:26:00 × zim0369[m] quits (~zim0369ma@2001:470:69fc:105::2:5d43) (Remote host closed the connection)
10:26:00 × devhashtag[m] quits (~devhashta@2001:470:69fc:105::2:85a2) (Remote host closed the connection)
10:26:00 × aaronv quits (~aaronv@user/aaronv) (Read error: Connection reset by peer)
10:26:00 × Spiker01[m] quits (~s98742598@2001:470:69fc:105::2:8415) (Remote host closed the connection)
10:26:00 × iamtheonewiththi quits (~iamtheone@2001:470:69fc:105::2:8a9b) (Remote host closed the connection)
10:26:00 × AskYourself[m] quits (~ask-yours@2001:470:69fc:105::2:9793) (Remote host closed the connection)
10:26:00 × Solid[m] quits (~slot-matr@2001:470:69fc:105::1:a84) (Remote host closed the connection)
10:26:00 × VarikValefor[m] quits (~varikvale@2001:470:69fc:105::a5d) (Read error: Connection reset by peer)
10:26:03 × mekeor[m] quits (~mekeormat@2001:470:69fc:105::17e4) (Write error: Connection reset by peer)
10:26:03 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Write error: Connection reset by peer)
10:26:03 × floweynt[m] quits (~floweyyag@2001:470:69fc:105::2:86b7) (Remote host closed the connection)
10:26:05 × Alok[m] quits (~alok8bbma@2001:470:69fc:105::2:620f) (Remote host closed the connection)
10:26:05 × imanebrahimi77[m quits (~imanebrah@2001:470:69fc:105::2:9a72) (Remote host closed the connection)
10:26:05 × alternateved[m] quits (~alternate@2001:470:69fc:105::2:894a) (Remote host closed the connection)
10:26:05 × Industrial[m] quits (~industria@2001:470:69fc:105::eb9) (Read error: Connection reset by peer)
10:26:05 × quarkQuark[m] quits (~quarkquar@2001:470:69fc:105::2:46e2) (Remote host closed the connection)
10:26:05 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Read error: Connection reset by peer)
10:26:05 × uj[m] quits (~ujmatrixo@2001:470:69fc:105::2:888f) (Read error: Connection reset by peer)
10:26:25 × vanvik quits (~vanvik@188.113.111.129) (Ping timeout: 250 seconds)
10:28:59 sibi joins (~sibi@2001:470:69fc:105::8ab)
10:29:28 wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130)
10:30:58 mekeor[m] joins (~mekeormat@2001:470:69fc:105::17e4)
10:43:52 vanvik joins (~vanvik@188.113.111.129)
10:44:16 unclechu joins (~unclechu@2001:470:69fc:105::354)
10:44:17 qbit_m joins (~qbittapen@2001:470:69fc:105::194)
10:44:17 yuu[m] joins (~yuum]@2001:470:69fc:105::8a6)
10:44:17 Balrog[m] joins (~M0x62616c@2001:470:69fc:105::2:9152)
10:44:17 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
10:44:17 geekosaur[m] joins (~geekosaur@xmonad/geekosaur)
10:44:17 VarikValefor[m] joins (~varikvale@2001:470:69fc:105::a5d)
10:44:17 uhoreg joins (~uhoreg@2001:470:69fc:105::35f)
10:44:17 aaronv joins (~aaronv@user/aaronv)
10:44:17 MangoIV[m] joins (~mangoivma@2001:470:69fc:105::2:8417)
10:44:18 SridharRatnakuma joins (~sridmatri@2001:470:69fc:105::1c2)
10:44:18 alternateved[m] joins (~alternate@2001:470:69fc:105::2:894a)
10:44:28 NONstope[m] joins (~nonstopem@2001:470:69fc:105::2:8d1c)
10:44:28 Neo[Envs][m] joins (~neovoiden@2001:470:69fc:105::2:b07)
10:44:28 arslonga[m] joins (~uuuuuuuum@2001:470:69fc:105::1589)
10:44:29 Industrial[m] joins (~industria@2001:470:69fc:105::eb9)
10:44:29 imanebrahimi77[m joins (~imanebrah@2001:470:69fc:105::2:9a72)
10:44:29 Spiker01[m] joins (~s98742598@2001:470:69fc:105::2:8415)
10:44:29 valarMorghulis[m joins (~lladeebll@2001:470:69fc:105::2:72)
10:44:29 lions[m] joins (~lionsmatr@2001:470:69fc:105::d1fe)
10:44:29 Alok[m] joins (~alok8bbma@2001:470:69fc:105::2:620f)
10:44:29 sogens[m] joins (~sogensmat@2001:470:69fc:105::1:20a1)
10:44:29 AskYourself[m] joins (~ask-yours@2001:470:69fc:105::2:9793)
10:44:29 zim0369[m] joins (~zim0369ma@2001:470:69fc:105::2:5d43)
10:44:29 quarkQuark[m] joins (~quarkquar@2001:470:69fc:105::2:46e2)
10:44:29 mikevan[m] joins (~mikevanto@2001:470:69fc:105::2:7ef5)
10:44:30 floweynt[m] joins (~floweyyag@2001:470:69fc:105::2:86b7)
10:44:30 devhashtag[m] joins (~devhashta@2001:470:69fc:105::2:85a2)
10:44:30 iamtheonewiththi joins (~iamtheone@2001:470:69fc:105::2:8a9b)
10:44:30 uj[m] joins (~ujmatrixo@2001:470:69fc:105::2:888f)
10:44:31 ChaoticMist[m] joins (~gilganixm@2001:470:69fc:105::3d09)
11:04:31 <dminuoso> Phaseditto: the self recompilation does work, but it needs a bit of a holding hand.
11:04:37 Tisoxin joins (~ikosit@user/ikosit)
11:04:37 <dminuoso> That is, it doesnt work out of the box
11:04:46 <Phaseditto> That's the first time i am hearing that
11:04:58 Solid[m] joins (~slot-matr@2001:470:69fc:105::1:a84)
11:04:58 liskin[m] joins (~liskinmat@2001:470:69fc:105::768)
11:05:00 <dminuoso> Phaseditto: Well so it depends. If you use cabal v1-style it should work out of the box.
11:05:07 <dminuoso> With v2-style you will have to provide a custom build script
11:05:40 <Phaseditto> huh. Excuse my lack of cabal knowledge, i don't know what the difference means and how it comes to be
11:05:57 <dminuoso> (Or rather with v2-style you will most likely get problems and headaches)
11:06:29 <dminuoso> Phaseditto: So in v1-install, packages are installed into a global place (think of cabal acting as a scoped package manager on itself this way).
11:08:00 <dminuoso> v2-mode works very differently, as while cabal will manage packages in a global store, they are in principle made available to each project directory, but there's not a comparable `install` mode that behaves as nicely.
11:08:23 <Phaseditto> Is there any drawbacks to the v1 mode?
11:08:45 <dminuoso> If you dont really use Haskell probably not much, except that at some point in the future it will not be supported anymore.
11:09:18 <Phaseditto> hm, would be a shame if i had to run my WM on EOL software
11:09:20 <dminuoso> Honestly I would just write a custom build script, its not too much extra effort and gives you full control
11:09:31 <Phaseditto> if you say so
11:09:48 <Phaseditto> i am no stranger to programming and getting used to new syntax so that should not pose much of an issue
11:10:47 <dminuoso> Note that using a custom build script might make xmonad restarts a bit slower, unless you spend some extra work. Especially if the code has not changed.
11:11:01 <dminuoso> Its nothing major, but I dont want to sell this as "just benefits without downsides" to you
11:11:40 <Phaseditto> is that only on rebuilds or on any restart?
11:12:01 <dminuoso> On restart too, but those are fixable
11:12:03 <dminuoso> Note:
11:12:05 <dminuoso> https://xmonad.org/INSTALL.html#custom-build-script
11:12:07 <dminuoso> At the bottom
11:12:31 <Phaseditto> i see, then that is absolutely negligible for me if i can "make it right"
11:12:35 <dminuoso> Yes.
11:13:16 <dminuoso> If you use v2-build in the build script, the other cases are covered too.
11:13:38 <Phaseditto> the documentation probably explains this thoroughly i presume
11:13:54 <dminuoso> Not really
11:13:57 <Phaseditto> oh well
11:14:01 <dminuoso> So roughly the interface is as follows:
11:15:09 <dminuoso> Give me a few minutes, Ill make you a sample repository to work with.
11:15:34 <Phaseditto> Appreciate the effort, thanks
11:38:26 <dminuoso> Phaseditto: https://gitlab.com/dminuoso/example-xmonad
11:38:44 <dminuoso> Phaseditto: Note, that this properly uses a `.cabal` file, which is used to declare things like dependencies.
11:39:08 <dminuoso> Outside of nixos, this is probably what I would universally favour over all other solutions (unless you happen to be a stack user already)
11:39:33 <dminuoso> Ah you probably want to use something like `set -e -o pipefail` or explicit error checking in the build script
11:40:10 <Phaseditto> Thanks. This will probably take some time and tweaking on my side as i am not at all familiar with cabal
11:40:25 <dminuoso> One additional benefit of this style is, you can use `haskell-language-server` to interactively write your program, or you can use `ghcide`, or just manual `cabal build` to compile your program for validity, rather than restarting xmonad every time
11:40:32 <dminuoso> Phaseditto: Honestly, it wont. :)
11:40:41 <Phaseditto> If you say so :D
11:40:43 <dminuoso> If you just take this, the only thing you must modify is two things:
11:41:04 <dminuoso> If your xmonad program is split across multiple modules, declare each such module in other-modules: https://gitlab.com/dminuoso/example-xmonad/-/blob/main/my-xmonad.cabal#L30
11:41:13 <dminuoso> (remove -- comment, and declare module names (not filenames)
11:41:37 <dminuoso> See https://gitlab.com/wobcom/haskell/powerdns-gerd/-/blob/master/powerdns-gerd.cabal#L61-66 for example
11:42:01 <dminuoso> And, if you want to use additional haskell packages from hackage, delcare them accordingly under `build-depends` (with or without version constraints as you see fit)
11:42:21 <dminuoso> Beyond that, nothing needs to be done
11:43:00 <dminuoso> Oh and you probably have to adapt the `base` constraint.
11:44:03 <Phaseditto> not the most recent version i presume
11:44:27 <dminuoso> Honestly, you can just remove it entirely
11:44:34 <dminuoso> the constraint, but not the base dependency
11:44:39 <dminuoso> let me make those fixes
11:44:45 <Phaseditto> Much appreciated
11:45:10 <dminuoso> Done
11:45:32 <dminuoso> So all you have to do, is manage dependencies under `build-depends` and modules other than Main under `other-modules`
11:45:54 <dminuoso> Note, that if you ever want to do update of your dependencies, you have to run a `cabal update` to update its hackage index.
11:46:07 <dminuoso> (This applies to all versions that do not use your system package manager)
11:46:25 <Phaseditto> cabal update is more stomachable than updating DWM, trust me
11:46:29 <dminuoso> :)
11:46:38 <dminuoso> It doesnt really do anything beyond just fetching the index
11:46:50 <dminuoso> Its the subsequent `build` (or `cabal build`) invocation that will compute a new build plan
11:47:05 <dminuoso> Do take note, that you have to supply all X11 dependencies yourself
11:47:17 <dminuoso> You can inspect the `shell.nix` file to get an idea of all required native libraries.
11:47:30 <Phaseditto> I switched to DWM for the meantime since that is the only other WM i can bastardize into behaving like xmonad but i am tired of patching the same shit in for newer versions, or get in newer version changes onto my patched DWM
11:47:40 <dminuoso> (They may or may not be present already, but I just want to point this out)
11:48:05 <Phaseditto> With X11 deps you mean the deps that my system has via xbps right?
11:48:17 Digit joins (~user@user/digit)
11:48:21 <dminuoso> Well, take a look at the shell.nix
11:48:31 <Phaseditto> ah gotcha
11:48:40 <Phaseditto> yeah that should be easy
11:48:49 <Phaseditto> So: Install cabal on my Void spinup, declare potential modules and potential hackage deps, build Xmonad and i am golden, correct?
11:49:10 <dminuoso> If you want extra painless installation of both cabal and GHC, install both via `ghcup`
11:49:24 <dminuoso> (But I do not know whether that works on Void, give it a try perhaps?)
11:49:39 <dminuoso> Wouldnt trust package manager maintainers to package GHC up properly
11:50:56 <Phaseditto> I will certainly give it a try later today. For my understanding this type of setup is for the most part system independant, as long as cabal and GHC are properly installed
11:51:42 <dminuoso> The thing is, if they are provided by your system package manager, there may be a number of additional problems
11:52:09 <dminuoso> Like, will they install additional packages? Screw around with the boot libraries inside GHC?
11:52:15 <dminuoso> Or apply random patches?
11:52:20 <dminuoso> Lag behind in versions?
11:53:45 <dminuoso> But if you prefer them system installed its probably fine?
11:53:50 <Phaseditto> Just as an example: Cabal has the cabal-install package and GHC is version 9.0.2_1 on Void. I know hard to say if that indicates any compatibility.
11:55:21 <dminuoso> Well Ive shared my opinion and recommendation - but its just that.
11:55:31 <dminuoso> Your decision in the end. :)
11:55:52 <dminuoso> The GHC version is not much out of date, that version was released about a year ago.
11:56:32 <Phaseditto> Appreciate the effort. I will try it later today and see how it works out for me. One thing though: The install documentation mentiones stack, any opinions about that?
11:56:36 <dminuoso> Most packages on hackage will work fine with up to 8.6.4 from experience
11:56:44 tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl)
11:57:00 <dminuoso> So `stack` is an alternative approach with a different mindset.
11:57:23 <Phaseditto> I will see what works and what breaks. I would try with default xmonad and then try my own configuration, if everything works, cool, if not i will iteratively remove something until it works
11:57:37 <dminuoso> I dont like it, I dont use it, and I think many arguments you will find on the internet are from a time before cabal-install v2-commands
11:58:10 <dminuoso> There's a bunch of things I personally think it does wrong, and for beginners it unnecessarily adds extra complexities.
11:58:14 <Phaseditto> Yeah sounds like there is a reason to that. Gonna take you word for it
11:58:32 <dminuoso> But if you said "you already use stack", I wouldnt try and convince you to stop using it.
11:58:46 <Phaseditto> Nah, my Setup is haskell free for the time being
11:58:55 <Phaseditto> not that i got anything against haskell but it never came up
12:00:11 <dminuoso> Yeah, I write Haskell both at my day job and in my free time. :)
12:00:42 <dminuoso> It's quite refreshing to see non-Haskellers trying and using Xmonad honestly.
12:00:49 <dminuoso> Even if it doesn't act as a gateway drug for most
12:01:25 <dminuoso> xmonad, if anything, rather scares people away from Haskell.
12:02:22 <Phaseditto> I got into Xmonad on a rehab for a damaged finger, only had the laptop of my GF and wanted easier operatibility and less resource consumption. Switched from Gnome to Xmonad and got used to it faster than i thought i would
12:02:39 <dminuoso> My xmonad config looks so much different from the code I write usually
12:02:46 <Phaseditto> Xmonad can be a bit of an oddball when it comes to documentation or rather finding it
12:02:52 <dminuoso> My code I consider readable, my xmonad config not so much :)
12:02:52 <Phaseditto> at least that was the case for me
12:03:46 <Phaseditto> Took a look at GHCup on their website, that might be the least painful way to get everything working and inversely clean in up if i can't get it to work
12:03:51 chomwitt joins (~chomwitt@2a02:587:dc1e:5e00:6d70:b0c1:e403:3e35)
12:04:28 <dminuoso> Note that ghcup is both an official installation method, and it is the recommended installation method.
12:04:38 <dminuoso> https://www.haskell.org/downloads/
12:05:15 <Phaseditto> As long as it allows me to get rid of it as easily as it allows me to install things that's fine with me :D
12:05:21 <dminuoso> Yes it does.
12:05:30 <Phaseditto> Perfect then
12:05:33 <dminuoso> It's just a single `rm -rf` and removing a line from your shell script.
12:05:50 <Phaseditto> so it keeps everything in one folder
12:05:54 <dminuoso> It installs just into a local directory into your home directory, and versions are managed via a simple shell hook
12:06:23 <Phaseditto> cool stuff, preferrable to other "managers" that leave residue of their software all over your system
12:07:08 <dminuoso> If you do try out ghcup, let me know if it works on Void or not (or file a bug report if any problems arise)
12:07:12 <dminuoso> Not sure whether there have been many Void users
12:07:39 <dminuoso> https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/363
12:07:42 <dminuoso> Ah it seems like it should work.
12:07:47 logzet joins (~quassel@2001:9e8:e51d:8e00:dabb:c1ff:fed3:a1b9)
12:08:39 <Phaseditto> From what i can tell the Void crowd doesn't really use haskell because, and i cite "haskell should've been a scripting language. it's extremely hard to make haskell-level generics work across ABI boundaries. I don't blame GHC devs at all refusing to stabilize ABI"
12:08:51 <Phaseditto> Of course that does not speak for all of Void users
12:09:16 <Phaseditto> but generally it does not play well with xbps and as such gets disregarded for most if it needs recompiling from what i understood
12:09:21 <dminuoso> Im not sure what they mean by "haskell-level generics work across ABI boundaries"
12:09:29 <Phaseditto> Neither do i
12:09:36 <dminuoso> But yes, we do not have stable ABIs in GHC.
12:10:19 <Phaseditto> The gist of it is that xbps and Haskell do not mesh well and thus haskell software at best gets delivered as a binary
12:10:38 <dminuoso> It's funny to read a comment that "it should have been a scripting language", considering that we get a high level language with unlimited abstraction potential, with performance that can with some care rival rust or C++...
12:10:43 <Phaseditto> Might not be entirely correct but that is what i understood
12:11:16 <Phaseditto> > It's funny to read a comment that "it should have been a scripting language" ....
12:11:16 <Phaseditto> Wouldn't take that too serious, that was just a random comment in a conversation today
12:11:17 <lambdabot> <hint>:1:82: error:
12:11:17 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
12:11:37 <dminuoso> Phaseditto: Do they have a policy of requiring dynamic libraries for everything?
12:11:46 <dminuoso> Or strongly favouring them?
12:11:55 <Phaseditto> No idea to be honest ^^'
12:12:12 <dminuoso> But yes, you see this same sort of problem in Arch
12:12:45 <dminuoso> If you tie haskell packages, executables *and* dependent libraries into your package manager, you will have a lot of suffering.
12:12:57 <Phaseditto> Every language and distro has it's kinks and quirks. That's how it is
12:13:07 <Phaseditto> Unless you use Nix and it either works or it doesn'%
12:13:36 <dminuoso> GHC is designed to statically link Haskell libraries
12:13:52 <dminuoso> So if your package manager philosophy does not like this, then yeah there's a conflict of interests at heart.
12:14:18 <Phaseditto> Might be the case, haven't done too much research on that
12:14:48 <dminuoso> (I mean you can do dynamic linking with DHC/cabal/stack...)
12:15:19 <dminuoso> So yeah, if you imagine that xbps is similar to say pacman, the above statements make perfect sense.
12:15:30 <Phaseditto> Wouldn't be too far fetched
12:15:42 <Phaseditto> though arch supports xmonad, funnily enough
12:15:44 <dminuoso> At the same time I might say, forcibly dynamically linking when you *know* the compiler has no stable ABI...
12:15:47 <dminuoso> That's just thickheaded.
12:15:57 <dminuoso> Its almost as if you wanted to prove something else was bad.
12:16:12 <dminuoso> Phaseditto: Yes, and what horrible pain and suffering you will experience if you try and use it via pacman.
12:16:31 <Phaseditto> Used artix for a month.... nah thanks
12:16:54 <Phaseditto> I switched to Void because it can take neglect to a degree where i would say it's stable enough for a user who just needs to get stuff done
12:17:19 <Phaseditto> Can't be bothered to fix my system every time some package breaks
12:17:47 <dminuoso> Phaseditto: Honestly, use ghcup.
12:18:02 <Phaseditto> that was the plan
12:18:44 <Phaseditto> If i can get something working i will post about that here
12:18:56 <dminuoso> Yes, definitely do and highlight me if you can.
12:19:14 <Phaseditto> how do i highlight people in IRC?
12:19:14 <dminuoso> I should probably polish all that I wrote up, and include it on the xmonad wiki somewhere.
12:19:17 <dminuoso> Just write my name
12:19:26 <Phaseditto> dminuoso like that?
12:19:28 <dminuoso> Yes.
12:19:33 <Phaseditto> yup, gonna do that
12:19:49 <Phaseditto> (last time i used IRC in 2006 lol)
12:19:56 <dminuoso> On most clients, like mine, this causes a) a visual marker in the chat buffer, b) a visual marker on the chat buffer where the highlight occured, and set an urgency hint
12:20:06 <dminuoso> So I know someone mentioned my name :)
12:20:10 <Phaseditto> That's good to know
12:20:22 <dminuoso> *visual marker in the buffer list on the buffer where the highlight occured
12:30:24 × Henson quits (~kvirc@207.136.101.195) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
12:52:22 × mesaoptimizer quits (apotheosis@user/PapuaHardyNet) (Quit: mesaoptimizer)
12:52:33 mesaoptimizer joins (apotheosis@user/PapuaHardyNet)
12:57:18 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
12:57:38 [Leary] joins (~Leary]@user/Leary/x-0910699)
13:47:15 thyriaen joins (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1)
14:01:40 zawaken joins (~zawaken@user/zawaken)
14:19:39 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:26:55 × noex quits (~null@user/noex) (Quit: :q!)
15:29:25 noex joins (~null@user/noex)
15:30:03 <Solid> Phaseditto: the tl;dr is to not install xmonad from Void's repos (it's in removed-packages anyways) and to use stack
15:30:07 <Solid> (or cabal, I guess)
15:31:24 <Solid> If you use glibc then just use ghcup; for musl install the system GHC and adjust the stack.yaml files as required to use that instead (plus some system-ghc: true option in your global stack config)
15:31:36 <Solid> I've been quite happy with a setup like that for a while
15:32:05 <Solid> (I also maintain GHC for Void, so if you have any improvements to suggest feel free to ping me :)
15:32:07 × thyriaen quits (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection)
16:00:10 × liskin[m] quits (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle)
16:04:54 <dminuoso> Mmm, how exactly is the build script picked up?
16:05:08 liskin[m] joins (~liskinmat@2001:470:69fc:105::768)
16:05:23 <dminuoso> While I was cleaning up the kitchen, it occured to me that my repo cant just magically work. When xmonad restarts, it must have some knowledge of where to look for the builder script.
16:07:02 <geekosaur> first thing xmonad does is look for xmonad.hs in various places (first checking for envars, then ~/.config/xmonad, then ~/.xmonad). the build script is then expected to be in the same directory
16:07:32 <dminuoso> Well, if I use a cabal v2 style build, there might not even be an xmonad.hs to look for.
16:07:33 <geekosaur> build script is useless without a config to build, so this is not a problem
16:07:41 <geekosaur> hm?
16:08:13 <dminuoso> Or is it assumed, that if my installation is under ~/.config/xmonad, then even if I use a cabal v2 project, then it must have an xmonad.hs?
16:08:26 <geekosaur> I suppose you could do it as a package, but then cabal expects it to be in the hackage index
16:08:27 <dminuoso> That is, is the xmonad.hs the mechanism for xmonad to detect *where* to look for a build script?
16:08:41 <geekosaur> and will error out if it's not
16:08:46 <geekosaur> yes it is
16:08:52 <dminuoso> Ahh okay! I shall fix this then.
16:09:03 <geekosaur> everything is keyed off the location of the config
16:10:13 <geekosaur> https://github.com/geekosaur/xmonad.hs/tree/skkukuk is an example (there's a bunch of other files in it because I symlink those elsewhere to make things more usable)
16:10:54 <dminuoso> geekosaur: By the way, you can use `cabal list-bin` to extract the path of executable artifacts.
16:11:15 <geekosaur> yeh, I just copied that from the original which was for cabal v1
16:11:30 <dminuoso> Fair
16:11:43 <dminuoso> Phaseditto: In that sense, Ive updated the repository to reflect these requirements.
16:11:58 <geekosaur> iirc the stack version is similarly ignoring modern stack features
16:12:16 <dminuoso> Yeah Ive already determined that I should probably prepare a modern example with documentation
16:12:21 × xtayex1 quits (~xtayex@180.160.67.85) (Ping timeout: 252 seconds)
16:12:24 <dminuoso> I feel like the cabal v2- project *should* be the default.
16:13:12 <dminuoso> Since it directly trains users to not rely on their distributions package manager, and gives more reproducible/reusable configurations.
16:13:45 <geekosaur> sadly I'm the only cabal user in the maintainers, everyone else does stack 🙂
16:13:46 <dminuoso> Heck, xmonad could even detect the presence of a .cabal file, and perhaps assume a v2- build and do all of this itself
16:14:02 <dminuoso> Sure, I just meant "the default in case you are using cabal anyway"
16:14:07 <geekosaur> so stack is strongly recommended, in a cut-down mode that doesn't use a build scrippt
16:14:25 <dminuoso> I suppose for non-haskellers it makes sense since it gives a unified way of getting stack, ghc, and the rest.
16:15:26 <geekosaur> I did start on a detect-cabal thing but there's a cut-down cabal mechanism that uses cabal file and optional cabal.project but doesn't do a full build (you do a cabal install --lib to an environment file in the xmonad config dir) so we can't key on either for a full cabalized config
16:15:50 <Solid> dminuoso: we would certainly appreciate if xmonad "just worked" with cabal, as it does with stack at the moment :)
16:16:21 <geekosaur> https://github.com/xmonad/xmonad/pull/375 which is in draft state until I can work out something that wouldn't break the "simplified cabal" mechanism
16:18:12 <geekosaur> you're welcome to think about it and make suggestions
16:32:12 thunderrd joins (~thunderrd@183.182.115.199)
16:33:11 × thunderrd quits (~thunderrd@183.182.115.199) (Read error: Connection reset by peer)
16:33:29 thunderrd joins (~thunderrd@183.182.115.199)
17:02:50 <dminuoso> Honestly the strange thing is, I would rather prefer explicit configurability rather than a magic mechanism.
17:03:16 <dminuoso> That is, if I could tell xmonad "look for the build script here", and that would bypass all detection mechanisms, that'd be ideal in my opinion
17:04:25 × wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 246 seconds)
17:14:19 <fizzie> I don't have a `xmonad.hs` file anywhere, just a ~/.xmonad/build file, and I feel like it's been perfectly happy using that.
17:15:57 <fizzie> And https://github.com/xmonad/xmonad/blob/master/src/XMonad/Core.hs#L540-L544 looks like some sort of "xmonad.hs *or* build" logic.
17:51:26 <geekosaur> hm, maybe it is
17:52:06 <geekosaur> I don't recall that as such, I just recall the first version checked for ~/.xmonad and then XMonad.Prompt broke that badly by hardcoding ~/.xmonad for its history file
17:52:30 <geekosaur> which meant anyone trying to use xdg dirs got an unpleasant surprise next time they (re)started xmonad
17:54:53 kora9 joins (~kora@h-98-128-228-57.NA.cust.bahnhof.se)
17:55:25 <kora9> I'm having a terribly difficult time finding the haskell logo xpm icon a lot of people use in their xmobar configs. Anyone care to link me to it?
17:57:56 <dminuoso> fizzie: ah thanks
18:01:55 justVain is now known as justache
18:30:41 × kora9 quits (~kora@h-98-128-228-57.NA.cust.bahnhof.se) (Quit: WeeChat 3.5)
18:31:50 <dminuoso> Hah I found another reason why I love xmonad.
18:31:57 <dminuoso> When my display turns off, there's no random jumping around of windows./
18:32:10 <dminuoso> (On the other display)
19:36:01 wonko joins (~wjc@2a0e:1c80:2:0:45:15:19:130)
20:03:52 × Forkk quits (~forkk@li926-228.members.linode.com) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
20:06:32 Forkk joins (~forkk@li926-228.members.linode.com)
21:35:50 × thaumavorio quits (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in)
21:36:43 thaumavorio joins (~thaumavor@thaumavor.io)
22:00:54 × wonko quits (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 268 seconds)
22:36:31 × Phaseditto quits (~Phaseditt@p200300f03f3bd9008d7902a993fd5916.dip0.t-ipconnect.de) (Quit: Client closed)
23:06:14 × tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)

All times are in UTC on 2022-10-15.