Installing KMonad on Fedora Silverblue
Since KMonad does not have a Fedora package, I was reluctant to try it out. However, it is much simpler than I thought, although it does have a few quirks, so I decided to write a short guide.
Installation
Binary
The easiest1 way is to download the binary from the releases page, mark it as executable and put it into ~/.local/bin
.
From source
I used stack
for this, but you might prefer to use Docker instead.
git clone git@github.com:kmonad/kmonad.git
cd kmonad
toolbox create kmonad
toolbox enter kmonad
sudo dnf install stack
stack install
This will install KMonad into ~/.local/bin
. It does not need to be installed system-wide.
Permissions
To run KMonad, you will also need to configure some necessary permissions.
First, add the udev rule for UInput, e.g. in /etc/udev/rules.d/90-kmonad.rules
:
KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
A Silverblue-specific workaround is needed to be able to add the user to the required groups.
grep -E '^uinput:' /usr/lib/group >> /etc/group
grep -E '^input:' /usr/lib/group >> /etc/group
systemctl reboot
Then, add the user to the uinput
and input
groups:
sudo usermod -aG uinput $USER
sudo usermod -aG input $USER
Log out and log back in, and you should be able to run kmonad
.
Autostarting
There is a systemd service available in the repo.
If you want an easier way to control it, I wrote an extension for integrating it into GNOME Shell.
-
When first writing this guide, I somehow completely missed this option. Sorry for that! ↩