{ pkgs, lib, config, ... }: with lib; mkIf config.passthrough.gui { wayland.windowManager.sway = { enable = true; wrapperFeatures.base = true; wrapperFeatures.gtk = true; swaynag.enable = true; config = { defaultWorkspace = "workspace number 1"; modifier = "Mod4"; keybindings = let modifier = config.wayland.windowManager.sway.config.modifier; in mkOptionDefault { XF86MonBrightnessUp = "light -A 5"; XF86MonBrightnessDown = "light -U 5"; "Control+Alt+l" = "exec swaylock -f --grace 0"; "Print" = "exec ${pkgs.grim}/bin/grim - | ${pkgs.wl-clipboard}/bin/wl-copy"; "${modifier}+Print" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.wl-clipboard}/bin/wl-copy"; "${modifier}+q" = "exec google-chrome-stable"; "${modifier}+Home" = "exec ${pkgs.pavucontrol}/bin/pavucontrol"; }; bars = [ { mode = "dock"; position = "bottom"; workspaceButtons = true; workspaceNumbers = true; statusCommand = "${pkgs.i3status}/bin/i3status"; fonts = { names = [ "monospace" ]; size = 8.0; }; trayOutput = "primary"; # sets transparency colors.background = "00000000"; } ]; input."*".natural_scroll = "enabled"; input."type:touchpad".tap = "enabled"; output."*".bg = "#000000 solid_color"; }; }; }