{ config, lib, pkgs, ... }: with lib; let shared_config = { modifier = "Mod4"; terminal = "kitty"; defaultWorkspace = "workspace number 1"; }; in { xsession.windowManager.i3 = { enable = true; config = shared_config; }; wayland.windowManager.sway = { enable = true; config = recursiveUpdate shared_config { input = { "type:keyboard" = { xkb_options = "caps:escape"; }; }; }; }; }