{ 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";
    };
  };
}
