Important
Recent commit set services.xremap.enable to false by default so that it
matches other modules. Make sure to enable the service
(services.xremap.enable = true;)
This is a Nix flake that installs and configures xremap.
Flake allows running xremap as a system-wide service and as a user service (controlled by services.xremap.serviceMode option).
Flake implements xremap features that allow specifying per-application remapping. Following combinations are tested:
| Scenario | No features | KDE | Gnome | X11 | Wlroots | Niri |
|---|---|---|---|---|---|---|
| System | ✔️ | ✖️ | ✖️ | ✔️ | ✖️ | ❓ |
| User | ✔️ | ✔️ | ✔️ | ❓ | ✔️ | ✔️ |
✔️ – tested, works ✖️ – not implemented ❓ – not tested
TL;DR:
- Import one of this flake's modules (
xremap-flake.nixosModules.defaultorxremap-flake.homeManagerModules.default) - (optional) configure xremap for your DE (
services.xremap.withWlroots/withX11/etc., see HOWTO) - Configure xremap binds in
services.xremap.config
See HOWTO for more information and sample configs.
The nix flake comes with a few VM presets that can be used to test some of the combinations. To run a specific VM:
nix run '.#nixosConfigurations.hyprland-user-dev.config.system.build.vmwhere hyprland-user-dev is the name of the nixosConfiguration you want to launch