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