From a566e0208f2134e69e4550d1c05fc49d2b3c6efd Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Sun, 5 Apr 2020 15:26:16 -0400 Subject: Swap caps+escape and alt+super only on chupacabra laptop keyboard --- home/machines/chupacabra.nix | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'home') diff --git a/home/machines/chupacabra.nix b/home/machines/chupacabra.nix index 714348e3f174..c0d1fce431fb 100644 --- a/home/machines/chupacabra.nix +++ b/home/machines/chupacabra.nix @@ -1,7 +1,31 @@ -{ ... }: -{ +{ pkgs, ... }: +let + laptopKeyboardId = "25"; +in { system.machine = { wirelessInterface = "wlp59s0"; i3FontSize = 9; }; + + systemd.user.services.laptop-keyboard = { + Unit = { + Description = "Swap caps+escape and alt+super, but only on the built-in laptop keyboard"; + After = [ "graphical-session-pre.target" ]; + PartOf = [ "graphical-session.target" ]; + }; + + Install = { WantedBy = [ "graphical-session.target" ]; }; + + Service = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = ( + "${pkgs.xorg.setxkbmap}/bin/setxkbmap " + + "-device ${laptopKeyboardId} " + + "-option caps:swapescape " + + "-option compose:ralt " + + "-option altwin:swap_alt_win" + ); + }; + }; } -- cgit 1.4.1