{lib, pkgs, ...}: let dirs = { defaults = ../defaults; }; in { wayland.windowManager.sway = { enable = pkgs.stdenv.isLinux; extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here xwayland = true; systemd.enable = true; wrapperFeatures = { gtk = true; }; }; xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config); xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config); programs.rofi.enable = pkgs.stdenv.isLinux; programs.mako.enable = pkgs.stdenv.isLinux; # programs.cliphist.enable = pkgs.stdenv.isLinux; programs.waybar = { enable = pkgs.stdenv.isLinux; systemd.enable = true; style = '' * { border: none; border-radius: 0; font-family: "Monaspace Krypton"; font-size: 13px; min-height: 0; } window#waybar { background: #1f2335; border-bottom: 1px solid #24283b; color: #c0caf5; opacity: 0.808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808; } #workspaces button { padding: 5px; padding-left: 12px; padding-right: 12px; background: transparent; color: #c0caf5; border-bottom: 1px solid transparent; } #workspaces button.focused { background: #c0caf5; color: #1d2021; border-bottom: 1px solid #c0caf5; } #cpu, #memory, #pulseaudio, #network, #battery, #clock, #custom-playerctl { padding: 0 10px; margin: 0 5px; } #battery.charging { color: #9ece6a; } #battery.warning:not(.charging) { color: #ff9e64; } @keyframes blink { to { background-color: #1d2021; color: #ebdbb2; } } #battery.critical:not(.charging) { background: #f7768e; color: #ebdbb2; border-bottom: 1px solid #ebdbb2; animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } #network.disconnected { color: #cc241d; } #pulseaudio.muted { color: #cc241d; } ''; }; }