{
config,
lib,
pkgs,
...
}: {
config = lib.mkIf config.dotfiles.gui.sway.enable {
wayland.windowManager.sway = {
config.fonts.names = ["DejaVu Sans Mono" "FontAwesome5Free"]; # TODO don't hardcode
config.bars = [{command = "waybar";}];
config.floating.criteria = [
{app_id = "pavucontrol";}
{app_id = "zenity";}
{
app_id = "org.keepassxc.KeePassXC";
}
{class = ".zoom";}
];
config.floating.titlebar = false;
config.focus.mouseWarping = true;
config.gaps.inner = 3;
config.gaps.outer = 3;
config.gaps.smartGaps = true;
config.input."*".natural_scroll = "enabled";
config.input."type:touchpad" = {
tap = lib.mkDefault "enabled";
tap_button_map = lib.mkDefault "lrm";
accel_profile = lib.mkDefault "adaptive";
};
config.output."*".bg = "${../wallpapers}/1.jpg fill";
config.startup = [
{
command = "${pkgs.kanshi}/bin/kanshi";
always = true;
}
];
config.window.titlebar = false;
config.workspaceAutoBackAndForth = true;
wrapperFeatures.base = true;
wrapperFeatures.gtk = true;
extraConfig = ''
seat seat0 xcursor_theme breeze 62
for_window [app_id="scratch_terminal"] move scratchpad, resize set 800 610
exec ${pkgs.alacritty}/bin/alacritty --title=scratch_terminal
'';
};
};
}