2022-10-15 00:45:01 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-15 01:47:00 +0200 | Henson | (~kvirc@207.136.101.195) |
2022-10-15 01:52:36 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 260 seconds) |
2022-10-15 01:55:40 +0200 | <Henson> | I use DynamicWorkspaces, and sometimes accumulate a lot of windows. I also use windowPrompt with FuzzyMatch to help me find windows when they get lost. But sometimes I would like to take a closer look at the windows that are matched by FuzzyMatch. Is there some existing module or way to create a new DynamicWorkspace that contains all of the windows that match? |
2022-10-15 02:12:03 +0200 | chomwitt | (~chomwitt@80.106.160.196) (Ping timeout: 252 seconds) |
2022-10-15 02:47:16 +0200 | xtayex1 | (~xtayex@180.160.67.85) |
2022-10-15 02:52:06 +0200 | logzet_ | (~quassel@2001:9e8:e51d:8e00:dabb:c1ff:fed3:a1b9) |
2022-10-15 02:52:18 +0200 | logzet | (~quassel@2001:9e8:e50c:ca00:dabb:c1ff:fed3:a1b9) (Ping timeout: 264 seconds) |
2022-10-15 03:05:35 +0200 | xtayex1 | (~xtayex@180.160.67.85) (Ping timeout: 252 seconds) |
2022-10-15 04:04:37 +0200 | banc | (banc@gateway/vpn/airvpn/banc) (Ping timeout: 252 seconds) |
2022-10-15 04:23:39 +0200 | banc | (banc@gateway/vpn/airvpn/banc) |
2022-10-15 04:26:37 +0200 | td_ | (~td@83.135.9.35) (Ping timeout: 268 seconds) |
2022-10-15 04:28:18 +0200 | td_ | (~td@83.135.9.18) |
2022-10-15 04:45:49 +0200 | berberman | (~berberman@user/berberman) |
2022-10-15 05:47:00 +0200 | xtayex1 | (~xtayex@180.160.67.85) |
2022-10-15 07:49:36 +0200 | xtayex1 | (~xtayex@180.160.67.85) (Ping timeout: 264 seconds) |
2022-10-15 08:27:09 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2022-10-15 08:45:01 +0200 | logzet_ | (~quassel@2001:9e8:e51d:8e00:dabb:c1ff:fed3:a1b9) (Ping timeout: 260 seconds) |
2022-10-15 09:26:49 +0200 | Phaseditto | (~Phaseditt@p200300f03f3bd9008d7902a993fd5916.dip0.t-ipconnect.de) |
2022-10-15 09:29:44 +0200 | <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 |
2022-10-15 09:30:07 +0200 | <Phaseditto> | (And yes i already asked around with the Void Linux people, they don't know either) |
2022-10-15 10:06:32 +0200 | <[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 |
2022-10-15 10:09:39 +0200 | Kaladin | (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) |
2022-10-15 10:23:22 +0200 | Kaladin | (~Kaladin@157-131-169-214.fiber.dynamic.sonic.net) (Quit: Leaving) |
2022-10-15 11:00:10 +0200 | <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. |
2022-10-15 11:05:01 +0200 | <Phaseditto> | I may just try to install via stack. If that works i will just use that. |
2022-10-15 11:33:42 +0200 | xtayex1 | (~xtayex@180.160.67.85) |
2022-10-15 12:25:58 +0200 | arslonga[m] | (~uuuuuuuum@2001:470:69fc:105::1589) (Remote host closed the connection) |
2022-10-15 12:25:58 +0200 | ChaoticMist[m] | (~gilganixm@2001:470:69fc:105::3d09) (Remote host closed the connection) |
2022-10-15 12:25:58 +0200 | lions[m] | (~lionsmatr@2001:470:69fc:105::d1fe) (Remote host closed the connection) |
2022-10-15 12:25:58 +0200 | Balrog[m] | (~M0x62616c@2001:470:69fc:105::2:9152) (Remote host closed the connection) |
2022-10-15 12:25:58 +0200 | Tisoxin | (~ikosit@user/ikosit) (Read error: Connection reset by peer) |
2022-10-15 12:25:58 +0200 | qbit_m | (~qbittapen@2001:470:69fc:105::194) (Read error: Connection reset by peer) |
2022-10-15 12:25:59 +0200 | yuu[m] | (~yuum]@2001:470:69fc:105::8a6) (Write error: Connection reset by peer) |
2022-10-15 12:25:59 +0200 | valarMorghulis[m | (~lladeebll@2001:470:69fc:105::2:72) (Remote host closed the connection) |
2022-10-15 12:25:59 +0200 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) (Read error: Connection reset by peer) |
2022-10-15 12:25:59 +0200 | NONstope[m] | (~nonstopem@2001:470:69fc:105::2:8d1c) (Remote host closed the connection) |
2022-10-15 12:25:59 +0200 | uhoreg | (~uhoreg@2001:470:69fc:105::35f) (Remote host closed the connection) |
2022-10-15 12:25:59 +0200 | SridharRatnakuma | (~sridmatri@2001:470:69fc:105::1c2) (Write error: Connection reset by peer) |
2022-10-15 12:25:59 +0200 | Neo[Envs][m] | (~neovoiden@2001:470:69fc:105::2:b07) (Remote host closed the connection) |
2022-10-15 12:25:59 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) (Remote host closed the connection) |
2022-10-15 12:25:59 +0200 | sogens[m] | (~sogensmat@2001:470:69fc:105::1:20a1) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | sibi | (~sibi@2001:470:69fc:105::8ab) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | geekosaur[m] | (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
2022-10-15 12:26:00 +0200 | mikevan[m] | (~mikevanto@2001:470:69fc:105::2:7ef5) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | zim0369[m] | (~zim0369ma@2001:470:69fc:105::2:5d43) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | devhashtag[m] | (~devhashta@2001:470:69fc:105::2:85a2) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | aaronv | (~aaronv@user/aaronv) (Read error: Connection reset by peer) |
2022-10-15 12:26:00 +0200 | Spiker01[m] | (~s98742598@2001:470:69fc:105::2:8415) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | iamtheonewiththi | (~iamtheone@2001:470:69fc:105::2:8a9b) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | AskYourself[m] | (~ask-yours@2001:470:69fc:105::2:9793) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | Solid[m] | (~slot-matr@2001:470:69fc:105::1:a84) (Remote host closed the connection) |
2022-10-15 12:26:00 +0200 | VarikValefor[m] | (~varikvale@2001:470:69fc:105::a5d) (Read error: Connection reset by peer) |
2022-10-15 12:26:03 +0200 | mekeor[m] | (~mekeormat@2001:470:69fc:105::17e4) (Write error: Connection reset by peer) |
2022-10-15 12:26:03 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) (Write error: Connection reset by peer) |
2022-10-15 12:26:03 +0200 | floweynt[m] | (~floweyyag@2001:470:69fc:105::2:86b7) (Remote host closed the connection) |
2022-10-15 12:26:05 +0200 | Alok[m] | (~alok8bbma@2001:470:69fc:105::2:620f) (Remote host closed the connection) |
2022-10-15 12:26:05 +0200 | imanebrahimi77[m | (~imanebrah@2001:470:69fc:105::2:9a72) (Remote host closed the connection) |
2022-10-15 12:26:05 +0200 | alternateved[m] | (~alternate@2001:470:69fc:105::2:894a) (Remote host closed the connection) |
2022-10-15 12:26:05 +0200 | Industrial[m] | (~industria@2001:470:69fc:105::eb9) (Read error: Connection reset by peer) |
2022-10-15 12:26:05 +0200 | quarkQuark[m] | (~quarkquar@2001:470:69fc:105::2:46e2) (Remote host closed the connection) |
2022-10-15 12:26:05 +0200 | RosarioPulella[m | (~rosariopu@2001:470:69fc:105::a57) (Read error: Connection reset by peer) |
2022-10-15 12:26:05 +0200 | uj[m] | (~ujmatrixo@2001:470:69fc:105::2:888f) (Read error: Connection reset by peer) |
2022-10-15 12:26:25 +0200 | vanvik | (~vanvik@188.113.111.129) (Ping timeout: 250 seconds) |
2022-10-15 12:28:59 +0200 | sibi | (~sibi@2001:470:69fc:105::8ab) |
2022-10-15 12:29:28 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-15 12:30:58 +0200 | mekeor[m] | (~mekeormat@2001:470:69fc:105::17e4) |
2022-10-15 12:43:52 +0200 | vanvik | (~vanvik@188.113.111.129) |
2022-10-15 12:44:16 +0200 | unclechu | (~unclechu@2001:470:69fc:105::354) |
2022-10-15 12:44:17 +0200 | qbit_m | (~qbittapen@2001:470:69fc:105::194) |
2022-10-15 12:44:17 +0200 | yuu[m] | (~yuum]@2001:470:69fc:105::8a6) |
2022-10-15 12:44:17 +0200 | Balrog[m] | (~M0x62616c@2001:470:69fc:105::2:9152) |
2022-10-15 12:44:17 +0200 | RosarioPulella[m | (~rosariopu@2001:470:69fc:105::a57) |
2022-10-15 12:44:17 +0200 | geekosaur[m] | (~geekosaur@xmonad/geekosaur) |
2022-10-15 12:44:17 +0200 | VarikValefor[m] | (~varikvale@2001:470:69fc:105::a5d) |
2022-10-15 12:44:17 +0200 | uhoreg | (~uhoreg@2001:470:69fc:105::35f) |
2022-10-15 12:44:17 +0200 | aaronv | (~aaronv@user/aaronv) |
2022-10-15 12:44:17 +0200 | MangoIV[m] | (~mangoivma@2001:470:69fc:105::2:8417) |
2022-10-15 12:44:18 +0200 | SridharRatnakuma | (~sridmatri@2001:470:69fc:105::1c2) |
2022-10-15 12:44:18 +0200 | alternateved[m] | (~alternate@2001:470:69fc:105::2:894a) |
2022-10-15 12:44:28 +0200 | NONstope[m] | (~nonstopem@2001:470:69fc:105::2:8d1c) |
2022-10-15 12:44:28 +0200 | Neo[Envs][m] | (~neovoiden@2001:470:69fc:105::2:b07) |
2022-10-15 12:44:28 +0200 | arslonga[m] | (~uuuuuuuum@2001:470:69fc:105::1589) |
2022-10-15 12:44:29 +0200 | Industrial[m] | (~industria@2001:470:69fc:105::eb9) |
2022-10-15 12:44:29 +0200 | imanebrahimi77[m | (~imanebrah@2001:470:69fc:105::2:9a72) |
2022-10-15 12:44:29 +0200 | Spiker01[m] | (~s98742598@2001:470:69fc:105::2:8415) |
2022-10-15 12:44:29 +0200 | valarMorghulis[m | (~lladeebll@2001:470:69fc:105::2:72) |
2022-10-15 12:44:29 +0200 | lions[m] | (~lionsmatr@2001:470:69fc:105::d1fe) |
2022-10-15 12:44:29 +0200 | Alok[m] | (~alok8bbma@2001:470:69fc:105::2:620f) |
2022-10-15 12:44:29 +0200 | sogens[m] | (~sogensmat@2001:470:69fc:105::1:20a1) |
2022-10-15 12:44:29 +0200 | AskYourself[m] | (~ask-yours@2001:470:69fc:105::2:9793) |
2022-10-15 12:44:29 +0200 | zim0369[m] | (~zim0369ma@2001:470:69fc:105::2:5d43) |
2022-10-15 12:44:29 +0200 | quarkQuark[m] | (~quarkquar@2001:470:69fc:105::2:46e2) |
2022-10-15 12:44:29 +0200 | mikevan[m] | (~mikevanto@2001:470:69fc:105::2:7ef5) |
2022-10-15 12:44:30 +0200 | floweynt[m] | (~floweyyag@2001:470:69fc:105::2:86b7) |
2022-10-15 12:44:30 +0200 | devhashtag[m] | (~devhashta@2001:470:69fc:105::2:85a2) |
2022-10-15 12:44:30 +0200 | iamtheonewiththi | (~iamtheone@2001:470:69fc:105::2:8a9b) |
2022-10-15 12:44:30 +0200 | uj[m] | (~ujmatrixo@2001:470:69fc:105::2:888f) |
2022-10-15 12:44:31 +0200 | ChaoticMist[m] | (~gilganixm@2001:470:69fc:105::3d09) |
2022-10-15 13:04:31 +0200 | <dminuoso> | Phaseditto: the self recompilation does work, but it needs a bit of a holding hand. |
2022-10-15 13:04:37 +0200 | Tisoxin | (~ikosit@user/ikosit) |
2022-10-15 13:04:37 +0200 | <dminuoso> | That is, it doesnt work out of the box |
2022-10-15 13:04:46 +0200 | <Phaseditto> | That's the first time i am hearing that |
2022-10-15 13:04:58 +0200 | Solid[m] | (~slot-matr@2001:470:69fc:105::1:a84) |
2022-10-15 13:04:58 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) |
2022-10-15 13:05:00 +0200 | <dminuoso> | Phaseditto: Well so it depends. If you use cabal v1-style it should work out of the box. |
2022-10-15 13:05:07 +0200 | <dminuoso> | With v2-style you will have to provide a custom build script |
2022-10-15 13:05:40 +0200 | <Phaseditto> | huh. Excuse my lack of cabal knowledge, i don't know what the difference means and how it comes to be |
2022-10-15 13:05:57 +0200 | <dminuoso> | (Or rather with v2-style you will most likely get problems and headaches) |
2022-10-15 13:06:29 +0200 | <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). |
2022-10-15 13:08:00 +0200 | <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. |
2022-10-15 13:08:23 +0200 | <Phaseditto> | Is there any drawbacks to the v1 mode? |
2022-10-15 13:08:45 +0200 | <dminuoso> | If you dont really use Haskell probably not much, except that at some point in the future it will not be supported anymore. |
2022-10-15 13:09:18 +0200 | <Phaseditto> | hm, would be a shame if i had to run my WM on EOL software |
2022-10-15 13:09:20 +0200 | <dminuoso> | Honestly I would just write a custom build script, its not too much extra effort and gives you full control |
2022-10-15 13:09:31 +0200 | <Phaseditto> | if you say so |
2022-10-15 13:09:48 +0200 | <Phaseditto> | i am no stranger to programming and getting used to new syntax so that should not pose much of an issue |
2022-10-15 13:10:47 +0200 | <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. |
2022-10-15 13:11:01 +0200 | <dminuoso> | Its nothing major, but I dont want to sell this as "just benefits without downsides" to you |
2022-10-15 13:11:40 +0200 | <Phaseditto> | is that only on rebuilds or on any restart? |
2022-10-15 13:12:01 +0200 | <dminuoso> | On restart too, but those are fixable |
2022-10-15 13:12:03 +0200 | <dminuoso> | Note: |
2022-10-15 13:12:05 +0200 | <dminuoso> | https://xmonad.org/INSTALL.html#custom-build-script |
2022-10-15 13:12:07 +0200 | <dminuoso> | At the bottom |
2022-10-15 13:12:31 +0200 | <Phaseditto> | i see, then that is absolutely negligible for me if i can "make it right" |
2022-10-15 13:12:35 +0200 | <dminuoso> | Yes. |
2022-10-15 13:13:16 +0200 | <dminuoso> | If you use v2-build in the build script, the other cases are covered too. |
2022-10-15 13:13:38 +0200 | <Phaseditto> | the documentation probably explains this thoroughly i presume |
2022-10-15 13:13:54 +0200 | <dminuoso> | Not really |
2022-10-15 13:13:57 +0200 | <Phaseditto> | oh well |
2022-10-15 13:14:01 +0200 | <dminuoso> | So roughly the interface is as follows: |
2022-10-15 13:15:09 +0200 | <dminuoso> | Give me a few minutes, Ill make you a sample repository to work with. |
2022-10-15 13:15:34 +0200 | <Phaseditto> | Appreciate the effort, thanks |
2022-10-15 13:38:26 +0200 | <dminuoso> | Phaseditto: https://gitlab.com/dminuoso/example-xmonad |
2022-10-15 13:38:44 +0200 | <dminuoso> | Phaseditto: Note, that this properly uses a `.cabal` file, which is used to declare things like dependencies. |
2022-10-15 13:39:08 +0200 | <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) |
2022-10-15 13:39:33 +0200 | <dminuoso> | Ah you probably want to use something like `set -e -o pipefail` or explicit error checking in the build script |
2022-10-15 13:40:10 +0200 | <Phaseditto> | Thanks. This will probably take some time and tweaking on my side as i am not at all familiar with cabal |
2022-10-15 13:40:25 +0200 | <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 |
2022-10-15 13:40:32 +0200 | <dminuoso> | Phaseditto: Honestly, it wont. :) |
2022-10-15 13:40:41 +0200 | <Phaseditto> | If you say so :D |
2022-10-15 13:40:43 +0200 | <dminuoso> | If you just take this, the only thing you must modify is two things: |
2022-10-15 13:41:04 +0200 | <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 |
2022-10-15 13:41:13 +0200 | <dminuoso> | (remove -- comment, and declare module names (not filenames) |
2022-10-15 13:41:37 +0200 | <dminuoso> | See https://gitlab.com/wobcom/haskell/powerdns-gerd/-/blob/master/powerdns-gerd.cabal#L61-66 for example |
2022-10-15 13:42:01 +0200 | <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) |
2022-10-15 13:42:21 +0200 | <dminuoso> | Beyond that, nothing needs to be done |
2022-10-15 13:43:00 +0200 | <dminuoso> | Oh and you probably have to adapt the `base` constraint. |
2022-10-15 13:44:03 +0200 | <Phaseditto> | not the most recent version i presume |
2022-10-15 13:44:27 +0200 | <dminuoso> | Honestly, you can just remove it entirely |
2022-10-15 13:44:34 +0200 | <dminuoso> | the constraint, but not the base dependency |
2022-10-15 13:44:39 +0200 | <dminuoso> | let me make those fixes |
2022-10-15 13:44:45 +0200 | <Phaseditto> | Much appreciated |
2022-10-15 13:45:10 +0200 | <dminuoso> | Done |
2022-10-15 13:45:32 +0200 | <dminuoso> | So all you have to do, is manage dependencies under `build-depends` and modules other than Main under `other-modules` |
2022-10-15 13:45:54 +0200 | <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. |
2022-10-15 13:46:07 +0200 | <dminuoso> | (This applies to all versions that do not use your system package manager) |
2022-10-15 13:46:25 +0200 | <Phaseditto> | cabal update is more stomachable than updating DWM, trust me |
2022-10-15 13:46:29 +0200 | <dminuoso> | :) |
2022-10-15 13:46:38 +0200 | <dminuoso> | It doesnt really do anything beyond just fetching the index |
2022-10-15 13:46:50 +0200 | <dminuoso> | Its the subsequent `build` (or `cabal build`) invocation that will compute a new build plan |
2022-10-15 13:47:05 +0200 | <dminuoso> | Do take note, that you have to supply all X11 dependencies yourself |
2022-10-15 13:47:17 +0200 | <dminuoso> | You can inspect the `shell.nix` file to get an idea of all required native libraries. |
2022-10-15 13:47:30 +0200 | <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 |
2022-10-15 13:47:40 +0200 | <dminuoso> | (They may or may not be present already, but I just want to point this out) |
2022-10-15 13:48:05 +0200 | <Phaseditto> | With X11 deps you mean the deps that my system has via xbps right? |
2022-10-15 13:48:17 +0200 | Digit | (~user@user/digit) |
2022-10-15 13:48:21 +0200 | <dminuoso> | Well, take a look at the shell.nix |
2022-10-15 13:48:31 +0200 | <Phaseditto> | ah gotcha |
2022-10-15 13:48:40 +0200 | <Phaseditto> | yeah that should be easy |
2022-10-15 13:48:49 +0200 | <Phaseditto> | So: Install cabal on my Void spinup, declare potential modules and potential hackage deps, build Xmonad and i am golden, correct? |
2022-10-15 13:49:10 +0200 | <dminuoso> | If you want extra painless installation of both cabal and GHC, install both via `ghcup` |
2022-10-15 13:49:24 +0200 | <dminuoso> | (But I do not know whether that works on Void, give it a try perhaps?) |
2022-10-15 13:49:39 +0200 | <dminuoso> | Wouldnt trust package manager maintainers to package GHC up properly |
2022-10-15 13:50:56 +0200 | <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 |
2022-10-15 13:51:42 +0200 | <dminuoso> | The thing is, if they are provided by your system package manager, there may be a number of additional problems |
2022-10-15 13:52:09 +0200 | <dminuoso> | Like, will they install additional packages? Screw around with the boot libraries inside GHC? |
2022-10-15 13:52:15 +0200 | <dminuoso> | Or apply random patches? |
2022-10-15 13:52:20 +0200 | <dminuoso> | Lag behind in versions? |
2022-10-15 13:53:45 +0200 | <dminuoso> | But if you prefer them system installed its probably fine? |
2022-10-15 13:53:50 +0200 | <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. |
2022-10-15 13:55:21 +0200 | <dminuoso> | Well Ive shared my opinion and recommendation - but its just that. |
2022-10-15 13:55:31 +0200 | <dminuoso> | Your decision in the end. :) |
2022-10-15 13:55:52 +0200 | <dminuoso> | The GHC version is not much out of date, that version was released about a year ago. |
2022-10-15 13:56:32 +0200 | <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? |
2022-10-15 13:56:36 +0200 | <dminuoso> | Most packages on hackage will work fine with up to 8.6.4 from experience |
2022-10-15 13:56:44 +0200 | tremon | (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
2022-10-15 13:57:00 +0200 | <dminuoso> | So `stack` is an alternative approach with a different mindset. |
2022-10-15 13:57:23 +0200 | <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 |
2022-10-15 13:57:37 +0200 | <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 |
2022-10-15 13:58:10 +0200 | <dminuoso> | There's a bunch of things I personally think it does wrong, and for beginners it unnecessarily adds extra complexities. |
2022-10-15 13:58:14 +0200 | <Phaseditto> | Yeah sounds like there is a reason to that. Gonna take you word for it |
2022-10-15 13:58:32 +0200 | <dminuoso> | But if you said "you already use stack", I wouldnt try and convince you to stop using it. |
2022-10-15 13:58:46 +0200 | <Phaseditto> | Nah, my Setup is haskell free for the time being |
2022-10-15 13:58:55 +0200 | <Phaseditto> | not that i got anything against haskell but it never came up |
2022-10-15 14:00:11 +0200 | <dminuoso> | Yeah, I write Haskell both at my day job and in my free time. :) |
2022-10-15 14:00:42 +0200 | <dminuoso> | It's quite refreshing to see non-Haskellers trying and using Xmonad honestly. |
2022-10-15 14:00:49 +0200 | <dminuoso> | Even if it doesn't act as a gateway drug for most |
2022-10-15 14:01:25 +0200 | <dminuoso> | xmonad, if anything, rather scares people away from Haskell. |
2022-10-15 14:02:22 +0200 | <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 |
2022-10-15 14:02:39 +0200 | <dminuoso> | My xmonad config looks so much different from the code I write usually |
2022-10-15 14:02:46 +0200 | <Phaseditto> | Xmonad can be a bit of an oddball when it comes to documentation or rather finding it |
2022-10-15 14:02:52 +0200 | <dminuoso> | My code I consider readable, my xmonad config not so much :) |
2022-10-15 14:02:52 +0200 | <Phaseditto> | at least that was the case for me |
2022-10-15 14:03:46 +0200 | <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 |
2022-10-15 14:03:51 +0200 | chomwitt | (~chomwitt@2a02:587:dc1e:5e00:6d70:b0c1:e403:3e35) |
2022-10-15 14:04:28 +0200 | <dminuoso> | Note that ghcup is both an official installation method, and it is the recommended installation method. |
2022-10-15 14:04:38 +0200 | <dminuoso> | https://www.haskell.org/downloads/ |
2022-10-15 14:05:15 +0200 | <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 |
2022-10-15 14:05:21 +0200 | <dminuoso> | Yes it does. |
2022-10-15 14:05:30 +0200 | <Phaseditto> | Perfect then |
2022-10-15 14:05:33 +0200 | <dminuoso> | It's just a single `rm -rf` and removing a line from your shell script. |
2022-10-15 14:05:50 +0200 | <Phaseditto> | so it keeps everything in one folder |
2022-10-15 14:05:54 +0200 | <dminuoso> | It installs just into a local directory into your home directory, and versions are managed via a simple shell hook |
2022-10-15 14:06:23 +0200 | <Phaseditto> | cool stuff, preferrable to other "managers" that leave residue of their software all over your system |
2022-10-15 14:07:08 +0200 | <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) |
2022-10-15 14:07:12 +0200 | <dminuoso> | Not sure whether there have been many Void users |
2022-10-15 14:07:39 +0200 | <dminuoso> | https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/363 |
2022-10-15 14:07:42 +0200 | <dminuoso> | Ah it seems like it should work. |
2022-10-15 14:07:47 +0200 | logzet | (~quassel@2001:9e8:e51d:8e00:dabb:c1ff:fed3:a1b9) |
2022-10-15 14:08:39 +0200 | <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" |
2022-10-15 14:08:51 +0200 | <Phaseditto> | Of course that does not speak for all of Void users |
2022-10-15 14:09:16 +0200 | <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 |
2022-10-15 14:09:21 +0200 | <dminuoso> | Im not sure what they mean by "haskell-level generics work across ABI boundaries" |
2022-10-15 14:09:29 +0200 | <Phaseditto> | Neither do i |
2022-10-15 14:09:36 +0200 | <dminuoso> | But yes, we do not have stable ABIs in GHC. |
2022-10-15 14:10:19 +0200 | <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 |
2022-10-15 14:10:38 +0200 | <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++... |
2022-10-15 14:10:43 +0200 | <Phaseditto> | Might not be entirely correct but that is what i understood |
2022-10-15 14:11:16 +0200 | <Phaseditto> | > It's funny to read a comment that "it should have been a scripting language" .... |
2022-10-15 14:11:16 +0200 | <Phaseditto> | Wouldn't take that too serious, that was just a random comment in a conversation today |
2022-10-15 14:11:17 +0200 | <lambdabot> | <hint>:1:82: error: |
2022-10-15 14:11:17 +0200 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2022-10-15 14:11:37 +0200 | <dminuoso> | Phaseditto: Do they have a policy of requiring dynamic libraries for everything? |
2022-10-15 14:11:46 +0200 | <dminuoso> | Or strongly favouring them? |
2022-10-15 14:11:55 +0200 | <Phaseditto> | No idea to be honest ^^' |
2022-10-15 14:12:12 +0200 | <dminuoso> | But yes, you see this same sort of problem in Arch |
2022-10-15 14:12:45 +0200 | <dminuoso> | If you tie haskell packages, executables *and* dependent libraries into your package manager, you will have a lot of suffering. |
2022-10-15 14:12:57 +0200 | <Phaseditto> | Every language and distro has it's kinks and quirks. That's how it is |
2022-10-15 14:13:07 +0200 | <Phaseditto> | Unless you use Nix and it either works or it doesn'% |
2022-10-15 14:13:36 +0200 | <dminuoso> | GHC is designed to statically link Haskell libraries |
2022-10-15 14:13:52 +0200 | <dminuoso> | So if your package manager philosophy does not like this, then yeah there's a conflict of interests at heart. |
2022-10-15 14:14:18 +0200 | <Phaseditto> | Might be the case, haven't done too much research on that |
2022-10-15 14:14:48 +0200 | <dminuoso> | (I mean you can do dynamic linking with DHC/cabal/stack...) |
2022-10-15 14:15:19 +0200 | <dminuoso> | So yeah, if you imagine that xbps is similar to say pacman, the above statements make perfect sense. |
2022-10-15 14:15:30 +0200 | <Phaseditto> | Wouldn't be too far fetched |
2022-10-15 14:15:42 +0200 | <Phaseditto> | though arch supports xmonad, funnily enough |
2022-10-15 14:15:44 +0200 | <dminuoso> | At the same time I might say, forcibly dynamically linking when you *know* the compiler has no stable ABI... |
2022-10-15 14:15:47 +0200 | <dminuoso> | That's just thickheaded. |
2022-10-15 14:15:57 +0200 | <dminuoso> | Its almost as if you wanted to prove something else was bad. |
2022-10-15 14:16:12 +0200 | <dminuoso> | Phaseditto: Yes, and what horrible pain and suffering you will experience if you try and use it via pacman. |
2022-10-15 14:16:31 +0200 | <Phaseditto> | Used artix for a month.... nah thanks |
2022-10-15 14:16:54 +0200 | <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 |
2022-10-15 14:17:19 +0200 | <Phaseditto> | Can't be bothered to fix my system every time some package breaks |
2022-10-15 14:17:47 +0200 | <dminuoso> | Phaseditto: Honestly, use ghcup. |
2022-10-15 14:18:02 +0200 | <Phaseditto> | that was the plan |
2022-10-15 14:18:44 +0200 | <Phaseditto> | If i can get something working i will post about that here |
2022-10-15 14:18:56 +0200 | <dminuoso> | Yes, definitely do and highlight me if you can. |
2022-10-15 14:19:14 +0200 | <Phaseditto> | how do i highlight people in IRC? |
2022-10-15 14:19:14 +0200 | <dminuoso> | I should probably polish all that I wrote up, and include it on the xmonad wiki somewhere. |
2022-10-15 14:19:17 +0200 | <dminuoso> | Just write my name |
2022-10-15 14:19:26 +0200 | <Phaseditto> | dminuoso like that? |
2022-10-15 14:19:28 +0200 | <dminuoso> | Yes. |
2022-10-15 14:19:33 +0200 | <Phaseditto> | yup, gonna do that |
2022-10-15 14:19:49 +0200 | <Phaseditto> | (last time i used IRC in 2006 lol) |
2022-10-15 14:19:56 +0200 | <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 |
2022-10-15 14:20:06 +0200 | <dminuoso> | So I know someone mentioned my name :) |
2022-10-15 14:20:10 +0200 | <Phaseditto> | That's good to know |
2022-10-15 14:20:22 +0200 | <dminuoso> | *visual marker in the buffer list on the buffer where the highlight occured |
2022-10-15 14:30:24 +0200 | Henson | (~kvirc@207.136.101.195) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
2022-10-15 14:52:22 +0200 | mesaoptimizer | (apotheosis@user/PapuaHardyNet) (Quit: mesaoptimizer) |
2022-10-15 14:52:33 +0200 | mesaoptimizer | (apotheosis@user/PapuaHardyNet) |
2022-10-15 14:57:18 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
2022-10-15 14:57:38 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2022-10-15 15:47:15 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) |
2022-10-15 16:01:40 +0200 | zawaken | (~zawaken@user/zawaken) |
2022-10-15 16:19:39 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-15 17:26:55 +0200 | noex | (~null@user/noex) (Quit: :q!) |
2022-10-15 17:29:25 +0200 | noex | (~null@user/noex) |
2022-10-15 17:30:03 +0200 | <Solid> | Phaseditto: the tl;dr is to not install xmonad from Void's repos (it's in removed-packages anyways) and to use stack |
2022-10-15 17:30:07 +0200 | <Solid> | (or cabal, I guess) |
2022-10-15 17:31:24 +0200 | <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) |
2022-10-15 17:31:36 +0200 | <Solid> | I've been quite happy with a setup like that for a while |
2022-10-15 17:32:05 +0200 | <Solid> | (I also maintain GHC for Void, so if you have any improvements to suggest feel free to ping me :) |
2022-10-15 17:32:07 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Remote host closed the connection) |
2022-10-15 18:00:10 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle) |
2022-10-15 18:04:54 +0200 | <dminuoso> | Mmm, how exactly is the build script picked up? |
2022-10-15 18:05:08 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) |
2022-10-15 18:05:23 +0200 | <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. |
2022-10-15 18:07:02 +0200 | <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 |
2022-10-15 18:07:32 +0200 | <dminuoso> | Well, if I use a cabal v2 style build, there might not even be an xmonad.hs to look for. |
2022-10-15 18:07:33 +0200 | <geekosaur> | build script is useless without a config to build, so this is not a problem |
2022-10-15 18:07:41 +0200 | <geekosaur> | hm? |
2022-10-15 18:08:13 +0200 | <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? |
2022-10-15 18:08:26 +0200 | <geekosaur> | I suppose you could do it as a package, but then cabal expects it to be in the hackage index |
2022-10-15 18:08:27 +0200 | <dminuoso> | That is, is the xmonad.hs the mechanism for xmonad to detect *where* to look for a build script? |
2022-10-15 18:08:41 +0200 | <geekosaur> | and will error out if it's not |
2022-10-15 18:08:46 +0200 | <geekosaur> | yes it is |
2022-10-15 18:08:52 +0200 | <dminuoso> | Ahh okay! I shall fix this then. |
2022-10-15 18:09:03 +0200 | <geekosaur> | everything is keyed off the location of the config |
2022-10-15 18:10:13 +0200 | <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) |
2022-10-15 18:10:54 +0200 | <dminuoso> | geekosaur: By the way, you can use `cabal list-bin` to extract the path of executable artifacts. |
2022-10-15 18:11:15 +0200 | <geekosaur> | yeh, I just copied that from the original which was for cabal v1 |
2022-10-15 18:11:30 +0200 | <dminuoso> | Fair |
2022-10-15 18:11:43 +0200 | <dminuoso> | Phaseditto: In that sense, Ive updated the repository to reflect these requirements. |
2022-10-15 18:11:58 +0200 | <geekosaur> | iirc the stack version is similarly ignoring modern stack features |
2022-10-15 18:12:16 +0200 | <dminuoso> | Yeah Ive already determined that I should probably prepare a modern example with documentation |
2022-10-15 18:12:21 +0200 | xtayex1 | (~xtayex@180.160.67.85) (Ping timeout: 252 seconds) |
2022-10-15 18:12:24 +0200 | <dminuoso> | I feel like the cabal v2- project *should* be the default. |
2022-10-15 18:13:12 +0200 | <dminuoso> | Since it directly trains users to not rely on their distributions package manager, and gives more reproducible/reusable configurations. |
2022-10-15 18:13:45 +0200 | <geekosaur> | sadly I'm the only cabal user in the maintainers, everyone else does stack 🙂 |
2022-10-15 18:13:46 +0200 | <dminuoso> | Heck, xmonad could even detect the presence of a .cabal file, and perhaps assume a v2- build and do all of this itself |
2022-10-15 18:14:02 +0200 | <dminuoso> | Sure, I just meant "the default in case you are using cabal anyway" |
2022-10-15 18:14:07 +0200 | <geekosaur> | so stack is strongly recommended, in a cut-down mode that doesn't use a build scrippt |
2022-10-15 18:14:25 +0200 | <dminuoso> | I suppose for non-haskellers it makes sense since it gives a unified way of getting stack, ghc, and the rest. |
2022-10-15 18:15:26 +0200 | <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 |
2022-10-15 18:15:50 +0200 | <Solid> | dminuoso: we would certainly appreciate if xmonad "just worked" with cabal, as it does with stack at the moment :) |
2022-10-15 18:16:21 +0200 | <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 |
2022-10-15 18:18:12 +0200 | <geekosaur> | you're welcome to think about it and make suggestions |
2022-10-15 18:32:12 +0200 | thunderrd | (~thunderrd@183.182.115.199) |
2022-10-15 18:33:11 +0200 | thunderrd | (~thunderrd@183.182.115.199) (Read error: Connection reset by peer) |
2022-10-15 18:33:29 +0200 | thunderrd | (~thunderrd@183.182.115.199) |
2022-10-15 19:02:50 +0200 | <dminuoso> | Honestly the strange thing is, I would rather prefer explicit configurability rather than a magic mechanism. |
2022-10-15 19:03:16 +0200 | <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 |
2022-10-15 19:04:25 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) (Ping timeout: 246 seconds) |
2022-10-15 19:14:19 +0200 | <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. |
2022-10-15 19:15:57 +0200 | <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. |
2022-10-15 19:51:26 +0200 | <geekosaur> | hm, maybe it is |
2022-10-15 19:52:06 +0200 | <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 |
2022-10-15 19:52:30 +0200 | <geekosaur> | which meant anyone trying to use xdg dirs got an unpleasant surprise next time they (re)started xmonad |
2022-10-15 19:54:53 +0200 | kora9 | (~kora@h-98-128-228-57.NA.cust.bahnhof.se) |
2022-10-15 19:55:25 +0200 | <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? |
2022-10-15 19:57:56 +0200 | <dminuoso> | fizzie: ah thanks |
2022-10-15 20:01:55 +0200 | justVain | justache |
2022-10-15 20:30:41 +0200 | kora9 | (~kora@h-98-128-228-57.NA.cust.bahnhof.se) (Quit: WeeChat 3.5) |
2022-10-15 20:31:50 +0200 | <dminuoso> | Hah I found another reason why I love xmonad. |
2022-10-15 20:31:57 +0200 | <dminuoso> | When my display turns off, there's no random jumping around of windows./ |
2022-10-15 20:32:10 +0200 | <dminuoso> | (On the other display) |
2022-10-15 21:36:01 +0200 | wonko | (~wjc@2a0e:1c80:2:0:45:15:19:130) |
2022-10-15 22:03:52 +0200 | Forkk | (~forkk@li926-228.members.linode.com) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-10-15 22:06:32 +0200 | Forkk | (~forkk@li926-228.members.linode.com) |
2022-10-15 23:35:50 +0200 | thaumavorio | (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-10-15 23:36:43 +0200 | thaumavorio | (~thaumavor@thaumavor.io) |