{ pkgs, lib }: let rofi = pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; }; in { wayland.windowManager.sway = rec { enable = true; config = { terminal = "${pkgs.alacritty}/bin/alacritty"; menu = "${rofi}/bin/rofi -show combi"; modifier = "Mod4"; input = { "*" = { xkb_layout = "pl"; accel_profile = "flat"; dwt = "disabled"; pointer_accel = "0.0"; }; }; bars = [{ id = "top"; statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs"; position = "top"; trayOutput = "*"; }]; floating.criteria = [{ title = "Steam - Update News"; }]; }; wrapperFeatures.gtk = true; systemdIntegration = true; extraSessionCommands = '' #export SDL_VIDEODRIVER=wayland # needs qt5.qtwayland in systemPackages export QT_QPA_PLATFORM=wayland export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" # Fix for some Java AWT applications (e.g. Android Studio), # use this if they aren't displayed properly: export _JAVA_AWT_WM_NONREPARENTING=1 ''; }; programs.rofi = { enable = true; package = rofi; theme = "purple"; extraConfig = { modi = "combi"; combi-modi = "drun,emoji"; }; }; programs.mako = { enable = true; defaultTimeout = 2000; }; programs.i3status-rust = { enable = true; bars.bar_0 = { blocks = [ { block = "hueshift"; } { block = "disk_space"; path = "/"; info_type = "available"; unit = "GB"; interval = 60; warning = 20.0; alert = 10.0; } { block = "memory"; display_type = "memory"; format_mem = "{mem_used}/{mem_total}({mem_used_percents})"; format_swap = "{swap_used}/{swap_total}({swap_used_percents})"; } { block = "cpu"; interval = 1; } { block = "sound"; } { block = "time"; interval = 60; format = "%a %d/%m %R"; } ]; }; }; }