xremap / nix-flake

MIT License
43 stars 11 forks source link

What this is

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
System :heavy_check_mark: :heavy_multiplication_x: :heavy_multiplication_x: :heavy_check_mark: :heavy_multiplication_x:
User :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :question: :heavy_check_mark:

:heavy_check_mark: – tested, works :heavy_multiplication_x: – not implemented :question: – not tested

How to use

TL;DR:

  1. Import one of this flake's modules (xremap-flake.nixosModules.default or xremap-flake.homeManagerModules.default)
  2. (optional) configure xremap for your DE (services.xremap.withWlroots/withX11/etc., see HOWTO)
  3. Configure xremap binds in services.xremap.config

See HOWTO for more information and sample configs.

Development

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.vm

where hyprland-user-dev is the name of the nixosConfiguration you want to launch