From 902bf5bdd9d1e6810b23c498ceda053d163baced Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Tue, 1 Dec 2020 11:57:23 -0500 Subject: feat(gs/yeren): Swap caps+escape on built-in keyboard This actually appears to be working this time! Change-Id: I3e10eb7e1621a050e024b8b53313f13d44a999ae Reviewed-on: https://cl.tvl.fyi/c/depot/+/2217 Reviewed-by: glittershark Tested-by: BuildkiteCI --- users/glittershark/system/home/machines/yeren.nix | 33 +++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/users/glittershark/system/home/machines/yeren.nix b/users/glittershark/system/home/machines/yeren.nix index 43f59d3751..bcb1d188f4 100644 --- a/users/glittershark/system/home/machines/yeren.nix +++ b/users/glittershark/system/home/machines/yeren.nix @@ -1,5 +1,9 @@ { pkgs, lib, config, ... }: +let + laptopKeyboardId = "5"; +in + { imports = [ ../platforms/linux.nix @@ -14,4 +18,33 @@ wirelessInterface = "wlp0s20f3"; i3FontSize = 9; }; + + home.packages = with pkgs; [ + zoom-us + slack + ]; + + 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" + ); + }; + }; + + xsession.windowManager.i3.config.keybindings.F9 = "exec lock"; } -- cgit 1.4.1