{ config, lib, pkgs, user, ... }: let font.name = "DejaVu Sans Mono"; font.size = 12.0; lock_command = "${pkgs.swaylock-fancy}/bin/swaylock-fancy --daemonize --show-failed-attempts --ignore-empty-password"; swaymsg = "${pkgs.sway}/bin/swaymsg"; in { imports = [ ./i3status-rust.nix ./dunst.nix ]; home.packages = with pkgs; [ xdg-utils swaylock-fancy shotman ]; programs.fuzzel = { enable = true; settings = { main = { terminal = "${pkgs.kitty}/bin/kitty"; layer = "overlay"; font = "DejaVu Sans Mono:size=12"; }; colors = { background = "002b36ff"; border = "ffffffaa"; }; }; }; home.pointerCursor = { name = "Adwaita"; package = pkgs.gnome.adwaita-icon-theme; size = 24; x11 = { enable = true; defaultCursor = "Adwaita"; }; }; services.swayidle = { enable = true; events = [ { event = "before-sleep"; command = lock_command; } ]; timeouts = [ { timeout = 300; command = "${swaymsg} output '*' power off"; resumeCommand = "${swaymsg} output '*' power on"; } { timeout = 900; command = lock_command; } ]; }; wayland.windowManager.sway = { enable = true; config = rec { modifier = "Mod4"; terminal = "${pkgs.kitty}/bin/kitty"; input = { "type:keyboard" = { xkb_layout = "de"; }; "type:touchpad" = { natural_scroll = "enabled"; tap = "enabled"; accel_profile = "flat"; dwt = "enabled"; }; }; seat = { "*" = { hide_cursor = "5000"; }; }; defaultWorkspace = "1"; fonts = { names = [ font.name ]; size = font.size; }; bars = [{ mode = "hide"; position = "top"; statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml"; fonts = { names = [ font.name ]; size = font.size; }; }]; menu = "${pkgs.fuzzel}/bin/fuzzel"; keybindings = let modifier = config.wayland.windowManager.sway.config.modifier; in lib.mkOptionDefault { "${modifier}+Shift+o" = "exec xdg-open \"zoommtg://zoom.us/join?action=join&confno=4861587170&pwd=ZVk3aHphcWppY21ONjZOMVh6STN6dz09\""; "${modifier}+Shift+s" = "exec shotman --capture region --copy"; "${modifier}+l" = "exec ${lock_command}"; }; assigns = { "6" = [{ class = "^\.zoom $"; }]; }; startup = [ { command = "keepassxc"; } { command = "nextcloud"; } { command = "swaymsg 'workspace 1"; } { command = "kitty"; } { command = "swaymsg 'workspace 2"; } { command = "element-desktop"; } { command = "swaymsg 'workspace 4"; } { command = "thunderbird"; } { command = "swaymsg 'workspace 5"; } { command = "firefox"; } ]; }; }; }