{ config, lib, pkgs, user, ... }: let font.name = "DejaVu Sans Mono"; font.size = 12.0; lock_command = "${pkgs.swaylock-effects}/bin/swaylock --daemonize --screenshots --effect-blur 8x2 --ignore-empty-password --show-failed-attempts"; swaymsg = "${pkgs.sway}/bin/swaymsg"; in { imports = [ ./i3status-rust.nix ./dunst.nix ]; home.packages = with pkgs; [ xdg-utils shotman wl-clipboard ]; programs.fuzzel = { enable = true; settings = { main = { terminal = "${pkgs.kitty}/bin/kitty"; layer = "overlay"; font = "DejaVu Sans Mono:size=12"; }; colors = { background = "002b36ff"; border = "ffffffaa"; }; }; }; programs.swaylock = { enable = true; package = pkgs.swaylock-effects; }; 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 = 900; command = "${swaymsg} output '*' power off"; resumeCommand = "${swaymsg} output '*' power on"; } { timeout = 1000; command = lock_command; } ]; }; services.swayosd.enable = true; services.poweralertd.enable = true; wayland.windowManager.sway = { enable = true; config = rec { modifier = "Mod4"; terminal = "${pkgs.kitty}/bin/kitty"; input = { "type:keyboard" = { xkb_layout = "de"; xkb_variant = "nodeadkeys"; xkb_options = "caps:escape"; }; "type:touchpad" = { natural_scroll = "enabled"; tap = "enabled"; accel_profile = "flat"; dwt = "enabled"; }; }; seat = { "*" = { hide_cursor = "5000"; }; }; defaultWorkspace = "1"; focus.newWindow = "urgent"; floating.criteria = [{ app_id = "zoom"; floating = true; }]; 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}"; "${modifier}+Shift+m" = "output '*' power off, output '*' power on, exec ${pkgs.kanshi}/bin/kanshictl reload"; "--release Caps_Lock" = "exec swayosd --caps-lock"; "XF86AudioRaiseVolume" = "exec swayosd --output-volume raise"; "XF86AudioLowerVolume" = "exec swayosd --output-volume lower"; "XF86AudioMute" = "exec swayosd --output-volume mute-toggle"; "XF86AudioMicMute" = "exec swayosd --input-volume mute-toggle"; }; assigns = { "6" = [{ class = "^\.zoom $"; }]; }; startup = [ { command = "keepassxc"; } { command = "kitty"; } { command = "element-desktop"; } { command = "thunderbird"; } { command = "firefox"; } ]; }; }; }