{ config, pkgs, lib, inputs, ... }: let cfg = config.suites.desktop; # Keybinds keybinds = { mod = "Mod"; focusRight = "${keybinds.mod}+Right"; focusLeft = "${keybinds.mod}+Left"; focusUp = "${keybinds.mod}+Up"; focusDown = "${keybinds.mod}+Down"; moveRight = "${keybinds.mod}+Shift+Right"; moveLeft = "${keybinds.mod}+Shift+Left"; moveUp = "${keybinds.mod}+Shift+Up"; moveDown = "${keybinds.mod}+Shift+Down"; toggleTiling = "${keybinds.mod}+Space"; toggleFullscreen = "${keybinds.mod}+F"; modeResize = "${keybinds.mod}+R"; # Use Arrow-Keys to Resize, Exit using Esc or Enter switchWS1 = "${keybinds.mod}+1"; switchWS2 = "${keybinds.mod}+2"; switchWS3 = "${keybinds.mod}+3"; switchWS4 = "${keybinds.mod}+4"; switchWS5 = "${keybinds.mod}+5"; nextWS = "${keybinds.mod}+Tab"; previousWS = "${keybinds.mod}+Shift+Tab"; moveToWS1 = "${keybinds.mod}+Shift+1"; moveToWS2 = "${keybinds.mod}+Shift+2"; moveToWS3 = "${keybinds.mod}+Shift+3"; moveToWS4 = "${keybinds.mod}+Shift+4"; moveToWS5 = "${keybinds.mod}+Shift+5"; launcher = "${keybinds.mod}+D"; appLauncher = "${keybinds.mod}+Shift+D"; exit = "${keybinds.mod}+Shift+E"; reloadConfig = "${keybinds.mod}+Shift+C"; close = "${keybinds.mod}+Backspace"; viewScratchpad = "${keybinds.mod}+-"; moveToScratchpad = "${keybinds.mod}+Shift+-"; }; fonts = { general = "Noto Sans"; symbol = "FontAwesome"; emoji = "Twitter Color Emoji"; size = 10; sizeSmall = 8; }; in { config = lib.mkIf ( cfg.enable && cfg.sway-experiments.enable ) { # Inspiration and Template: https://git.sr.ht/~hervyqa/swayhome # Software # SoundMenu: pwvucontrol # NetworkMenu: networkmanagerapplet # Launcher: Wofi # - Bluetooth: dmenu-bluetooth # - Emoji: wofi-emoji # - Power: wofi-power-menu # - Network: networkmanager_dmenu # Design # [WS1-5] 23:25[Stat] [Tray][Vol][Bri][Key][Con][Bat] # Status: [Privacy] [Keyboard State] Caffeine, Media(mpris) # Volume: Scroll=Vol, RClick=Mute, LClick=SoundMenu (wireplumber) # Bright: Scroll=Bri, LClick=Redshift # Keybrd: Scroll=Bri, Click=Switch (language) # Bluetooth: LClick=dmenu-bluetooth, RClick=Toggle, MClick=Airplane # Network: LClick=networkmanager_dmenu, RClick=ToggleWifiEther, MClick=Airplane # Airplane: LClick=enableNetwork, RClick=enableBluetooth # Battery: LClick=PowerMode, RClick=Caffeine(idle inhibitor) # Desktop wayland.windowManager.sway.enable = true; # wayland.windowManager.sway.package = null; # Package gets Managed by System # Lockscreen programs.swaylock.enable = true; # programs.swaylock.settings = { # font = "${fonts.general}"; # font-size = fonts.size; # disable-caps-lock-text = true; # ignore-empty-password = true; # indicator-caps-lock = true; # indicator-radius = 50; # indicator-thickness = 10; # }; # Bar programs.waybar.enable = true; # Configuration Template: https://github.com/Alexays/Waybar/blob/master/resources/config.jsonc # Wiki: https://github.com/Alexays/Waybar/wiki/Module:-Custom:-Examples programs.waybar.settings.mainBar = { layer = "bottom"; }; # Launcher programs.wofi.enable = true; #programs.wofi.settings = { # location = "bottom-right"; # allow_markup = true; # width = 250; #}; # Theme #fonts.fontconfig.enable = true; }; }