Logs: liberachat/#kmonad
| 2021-08-09 12:33:53 | <Tisoxin> | i think cabal should work as well |
| 2021-08-09 12:34:42 | <Tisoxin> | `cabal install all` should install kmonad (when you execute it from kmonad's git repository) |
| 2021-08-09 12:35:12 | <Tisoxin> | It'll probably install it in ~/.local/bin |
| 2021-08-09 12:35:28 | <nij-> | Lemme see. I remember cabal is less disk space consuming. |
| 2021-08-09 12:35:44 | <nij-> | Haven't used the haskell build infrastructure for a while. |
| 2021-08-09 12:36:55 | Tisoxin | uses cabal as well |
| 2021-08-09 12:39:05 | <nij-> | Could you remind the difference..? IIRC stack pull a copy into a project, while cabal (v2) symlink the libs needed for a project right? |
| 2021-08-09 12:39:18 | <Tisoxin> | hm |
| 2021-08-09 12:40:17 | <Tisoxin> | I actually know nothing about such a difference… |
| 2021-08-09 12:40:29 | <Tisoxin> | Afaik, stack is a wrapper around cabal |
| 2021-08-09 12:40:31 | <Solid> | the new cabal commands are about as sandboxed as stack is, so I doubt there's much of a space difference |
| 2021-08-09 12:40:37 | <Tisoxin> | At least that's what i thought |
| 2021-08-09 12:40:59 | <Tisoxin> | Solid: They use nix, aren't they? |
| 2021-08-09 12:41:17 | <nij-> | I see. Most likely I have messed up with my memory. I will use cabal if I need the latest version. For now I just want to see kmonad to be effecitve xD |
| 2021-08-09 12:41:36 | <Solid> | nij-: you can check out the release tag on github |
| 2021-08-09 12:41:45 | <Solid> | that tutorial should then work with the version you have |
| 2021-08-09 12:42:45 | <Solid> | ( https://github.com/kmonad/kmonad/blob/0.4.1/keymap/tutorial.kbd ) |
| 2021-08-09 12:43:17 | <nij-> | Ah ha good idea. Thanks Solid! |
| 2021-08-09 12:45:05 | <nij-> | After modprobing uinput, I still get the following from `kmonad tutorial.kbd` |
| 2021-08-09 12:45:15 | <nij-> | kmonad: /dev/uinput: openFd: permission denied (Permission denied) |
| 2021-08-09 12:45:24 | <nij-> | Does that mean I should run kmonad as root? |
| 2021-08-09 12:45:30 | <Tisoxin> | No |
| 2021-08-09 12:45:44 | <Tisoxin> | are you in the uinput group? |
| 2021-08-09 12:45:56 | <Tisoxin> | (you can run it with root) |
| 2021-08-09 12:47:00 | <Tisoxin> | You have to be in the uinput and the input group to run kmonad without root |
| 2021-08-09 12:47:54 | <Tisoxin> | (Which could be a security issue) |
| 2021-08-09 12:48:31 | <nij-> | $ usermod -a -G uinput nij \\=> usermod: group 'uinput' does not exist |
| 2021-08-09 12:48:49 | <Tisoxin> | You need to add a udev rule first |
| 2021-08-09 12:49:47 | <Tisoxin> | # KMonad user access to /dev/uinput |
| 2021-08-09 12:49:47 | <Tisoxin> | KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput" |
| 2021-08-09 12:50:12 | <nij-> | Wait.. is this in the tutorial? |
| 2021-08-09 12:50:22 | <Tisoxin> | hmm |
| 2021-08-09 12:50:43 | <nij-> | Oh in the q&a found! |
| 2021-08-09 12:51:02 | <Tisoxin> | The installation instructions could be bettter |
| 2021-08-09 12:51:19 | <Tisoxin> | atm its only mentioned in the instructions for NixOS and Guix |
| 2021-08-09 12:53:30 | <Tisoxin> | <Tisoxin> "(Which could be a security issue" <- Though every program you run on your normal user could just put an alias for sudo in your bashrc … so i guess, if a malicious program wants to use the input group it could just as well use it with root… |
| 2021-08-09 12:55:03 | <nij-> | Not sure if I report it here. |
| 2021-08-09 12:55:20 | <nij-> | Have followed FAQ: https://github.com/kmonad/kmonad/blob/master/doc/faq.md "Add a udev rule (in either /etc/dev/rules.d or /lib/udev/rules.d) ..." |
| 2021-08-09 12:55:39 | <nij-> | I added a rule in /lib/udev/rules.d and modprobe.. the problem persists. |
| 2021-08-09 12:55:52 | <nij-> | Now I'm going to try adding a rul in /etc/dev/rules.d |
| 2021-08-09 12:56:07 | <nij-> | (but on my machine there's just /etc/udev/rules.d..) |
| 2021-08-09 12:56:42 | <nij-> | Not sure what to do now \@_@/ |
| 2021-08-09 12:57:31 | <Tisoxin> | Those `modinfo uinput` throw an error? |
| 2021-08-09 12:58:02 | <Tisoxin> | *Does |
| 2021-08-09 12:58:58 | <Tisoxin> | Are you in the uinput/input groups? (check with the command `groups`) |
| 2021-08-09 12:59:44 | <nij-> | OH I see not yet. But I have added myself to the group. Maybe I need to reboot. |
| 2021-08-09 13:00:01 | <Tisoxin> | you probably only need to relog |
| 2021-08-09 13:00:32 | <nij-> | Lemme do that! Thank you Tisoxin |
| 2021-08-09 13:00:36 | × | nij- quits (~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) (Remote host closed the connection) |
| 2021-08-09 13:00:37 | <Tisoxin> | np |
| 2021-08-09 13:04:31 | → | nij- joins (~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) |
| 2021-08-09 13:05:05 | <nij-> | Rebooted actually, just to make sure. |
| 2021-08-09 13:05:15 | <Tisoxin> | does it work? |
| 2021-08-09 13:05:28 | <nij-> | Now the error is kmonad: /dev/input/by-path/platform-i8042-serio-0-event-kbd: openFd: permission denied (Permission denied) |
| 2021-08-09 13:05:46 | <nij-> | But notice that I have changed the tutorial |
| 2021-08-09 13:05:47 | <Tisoxin> | are you in the input group? |
| 2021-08-09 13:05:56 | <nij-> | to => (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd") |
| 2021-08-09 13:06:10 | <nij-> | Yes, `groups` comfirms that I'm in uinput. |
| 2021-08-09 13:06:36 | <Tisoxin> | i should have made it clearer, but you need to be in both uinput and input |
| 2021-08-09 13:06:44 | <Tisoxin> | uinput to read and input to write |
| 2021-08-09 13:06:48 | <nij-> | I see! Lemme do that and reboot. |
| 2021-08-09 13:07:03 | <nij-> | Oh actually FAQ says that "If the uinput group does not exist, check whether your system has an input group and try adding your user to that one instead. If this does not work, create a new group with:" |
| 2021-08-09 13:07:10 | <nij-> | Lemme do it. thanks for your patience! |
| 2021-08-09 13:07:43 | × | nij- quits (~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) (Remote host closed the connection) |
| 2021-08-09 13:07:48 | <Tisoxin> | hm |
| 2021-08-09 13:07:57 | <Tisoxin> | The faq is to unclear there |
| 2021-08-09 13:08:15 | <Solid> | (contributions welcome) |
| 2021-08-09 13:08:17 | <Solid> | :> |
| 2021-08-09 13:08:20 | <Tisoxin> | At least i don't know of a distro that has the uinput group by default |
| 2021-08-09 13:08:35 | <Tisoxin> | Solid: I can't be bothered right now :3 |
| 2021-08-09 13:08:40 | <Solid> | hah |
| 2021-08-09 13:08:48 | → | nij- joins (~jin@2001-48F8-9021-806-0-0-0-1AD1-dynamic.midco.net) |
| 2021-08-09 13:08:59 | <nij-> | It werks! Now the party begins :) |
| 2021-08-09 13:09:05 | <Tisoxin> | :] |
| 2021-08-09 13:09:19 | <Solid> | maybe we can rope nij- into contributing then :D |
| 2021-08-09 13:09:38 | <nij-> | By modding the FAQ? |
| 2021-08-09 13:09:44 | <nij-> | I'm not good at all at haskell... |
| 2021-08-09 13:09:57 | <nij-> | I am very curious about how kmonad does its magic though. |
| 2021-08-09 13:09:57 | <Solid> | Don't have to know haskell to make a doc change :) |
| 2021-08-09 13:10:18 | <Tisoxin> | hm |
| 2021-08-09 13:10:24 | <nij-> | One thing to be sure |
| 2021-08-09 13:10:36 | <nij-> | IN https://github.com/kmonad/kmonad/blob/master/doc/faq.md it mentions /etc/dev/rules.d |
| 2021-08-09 13:10:44 | <nij-> | Does it mean /etc/udev/rules.d instead? |
| 2021-08-09 13:10:57 | <Tisoxin> | I wonder if kmonad's interior is frp based |
| 2021-08-09 13:11:11 | <Tisoxin> | It's too long, since the last time a took a look at the code |
| 2021-08-09 13:11:36 | <Solid> | nij-: I would imagine so |
| 2021-08-09 13:11:38 | <Tisoxin> | nij-: Probably |
| 2021-08-09 13:11:50 | <Tisoxin> | At least i don't have a "/etc/dev" path |
| 2021-08-09 13:15:09 | <Tisoxin> | Solid: Is the forall in `type AnyK a = forall m. MonadK m => m a` actually needed? |
| 2021-08-09 13:16:46 | <Solid> | Tisoxin: what would you write instead? |
| 2021-08-09 13:17:23 | <Tisoxin> | hm |
| 2021-08-09 13:17:26 | <Solid> | Have to get the `m` from somewhere |
| 2021-08-09 13:18:03 | <Tisoxin> | ok, that generates sense |
| 2021-08-09 13:18:16 | <Solid> | (this is called an existential type and it's a pretty neat idea to encode stuff) |
| 2021-08-09 13:23:12 | <nij-> | https://github.com/kmonad/kmonad/pull/329 |
| 2021-08-09 13:23:13 | <nij-> | Done |
| 2021-08-09 13:23:19 | <nij-> | Thanks for all your help :) |
| 2021-08-09 13:25:26 | <Tisoxin> | nij-: i like |
| 2021-08-09 13:28:21 | <nij-> | Solid: last time I asked how possibly can kmonad be so portable - it even works on Windows! |
| 2021-08-09 13:28:32 | <nij-> | IIRC your answer is that it hacks uinput directly.. |
All times are in UTC.