{ pkgs, config, lib, ... }: let theme = config.riley.theme.hex; modifier = "Mod4"; keybindings = (import ./keybinds.nix { inherit modifier lib pkgs config; directional = { left = "H"; right = "L"; up = "K"; down = "J"; }; workspace = { numbered = 5; named = { "web" = "equal"; "doc" = "minus"; "dev" = "0"; }; }; launchers = { browser = "google-chrome-stable"; }; }); in with lib; (mkIf config.riley.gui { services.xserver = { enable = true; windowManager.i3.enable = true; }; home-manager.users."riley" = { xsession.windowManager.i3 = { enable = true; config = with lib; (rec { inherit modifier keybindings; terminal = "${pkgs.alacritty}/bin/alacritty"; colors = { focused = rec { background = theme.background.normal; text = theme."red".bright; border = background; childBorder = border; indicator = border; }; unfocused = rec { background = theme.background.normal; text = theme.foreground.slight; border = background; childBorder = border; indicator = border; }; focusedInactive = colors.unfocused; }; window = { border = 2; commands = [ { command = "border pixel 2"; criteria = { class = ".*"; }; } ]; }; fonts = { names = [ "Source Sans 3" ]; style = "Semibold"; size = 10.0; }; }); }; }; })