{ pkgs, lib, config, ... }: { options.mods.i3.enable = lib.mkEnableOption "enables bspwm"; config = lib.mkIf config.mods.bspwm.enable { programs.rofi.enable = true; xsession.windowManager.i3 = { enable = true; config = { terminal = "alacritty"; menu = "rofi"; keybindings = let modifier = config.xsession.windowManager.i3.config.modifier; in lib.mkOptionDefault { "${modifier}+h" = "move left"; "${modifier}+j" = "move down"; "${modifier}+k" = "move up"; "${modifier}+l" = "move right"; }; }; }; }; }