diff options
| author | Leander Scherer <leander@schererleander.de> | 2026-05-17 10:49:27 +0200 |
|---|---|---|
| committer | Leander Scherer <leander@schererleander.de> | 2026-05-28 22:42:06 +0200 |
| commit | 2f70e596e76b7f5b13a3000f90592e3d371bc78a (patch) | |
| tree | ff3ff25547f7d40eda5220bc130316ac1790c431 | |
| parent | 028233a64419e54a611c6c448dddc9b68a572018 (diff) | |
chore(sway): add kde portal, breeze theming, screenshot and cliphist
| -rw-r--r-- | modules/system/sway.nix | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/modules/system/sway.nix b/modules/system/sway.nix index f6047a1..f6d78ec 100644 --- a/modules/system/sway.nix +++ b/modules/system/sway.nix @@ -9,13 +9,14 @@ wrapperFeatures.gtk = true; extraPackages = with pkgs; [ wl-clipboard - havoc ]; }; xdg.portal = { enable = true; wlr.enable = true; + extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ]; + config.common.default = [ "wlr" "kde" ]; }; environment.sessionVariables = { @@ -32,12 +33,41 @@ }; in { + gtk = { + enable = true; + theme = { + name = "Breeze-Dark"; + package = pkgs.kdePackages.breeze-gtk; + }; + iconTheme = { + name = "breeze-dark"; + package = pkgs.kdePackages.breeze-icons; + }; + cursorTheme = { + name = "breeze_cursors"; + package = pkgs.kdePackages.breeze; + size = 24; + }; + }; + + qt = { + enable = true; + platformTheme.name = "gtk"; + }; + + home.pointerCursor = { + gtk.enable = true; + name = "breeze_cursors"; + package = pkgs.kdePackages.breeze; + size = 24; + }; + wayland.windowManager.sway = { enable = true; wrapperFeatures.gtk = true; config = rec { modifier = "Mod4"; - terminal = "${pkgs.havoc}/bin/havoc"; + terminal = "ghostty"; input = { "*" = { @@ -49,7 +79,8 @@ DP-1 = { resolution = "2560x1440@279.961HZ"; render_bit_depth = "10"; - adaptive_sync = "true"; + # disabled as mo27q28g implementation sucks, a lot of brightness flicker + #adaptive_sync = "true"; hdr = "on"; bg = "${wallpaper} fill"; }; @@ -78,8 +109,17 @@ "XF86AudioRaiseVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_DEVICE@ +5%"; "XF86AudioLowerVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_DEVICE@ -5%"; "XF86AudioMute" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_DEVICE@ toggle"; + "${modifier}+Shift+s" = + "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | tee ~/Pictures/screenshot-$(date +%Y%m%d_%H%M%S).png | ${pkgs.wl-clipboard}/bin/wl-copy"; + "${modifier}+v" = + "exec ${pkgs.cliphist}/bin/cliphist list | ${pkgs.wmenu}/bin/wmenu | ${pkgs.cliphist}/bin/cliphist decode | ${pkgs.wl-clipboard}/bin/wl-copy"; }; + startup = [ + { command = "${pkgs.wl-clipboard}/bin/wl-paste --watch ${pkgs.cliphist}/bin/cliphist store"; } + { command = "${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"; } + ]; + menu = "${pkgs.wmenu}/bin/wmenu-run -b"; defaultWorkspace = "workspace number 1"; }; |
