From 0f12ed68f7faca27b91a04108681142faeb6e662 Mon Sep 17 00:00:00 2001 From: Colin Date: Tue, 6 Feb 2024 23:04:44 +0000 Subject: [PATCH] sway: simplify config templating --- hosts/modules/gui/sway/sway-config | 25 +++++++++++++------------ hosts/modules/gui/sway/sway-config.nix | 22 +--------------------- 2 files changed, 14 insertions(+), 33 deletions(-) diff --git a/hosts/modules/gui/sway/sway-config b/hosts/modules/gui/sway/sway-config index 563f026c..bb4ff047 100644 --- a/hosts/modules/gui/sway/sway-config +++ b/hosts/modules/gui/sway/sway-config @@ -10,17 +10,18 @@ xwayland @xwayland@ set $mod @mod@ -set $term @terminal_cmd@ -set $menu @launcher_cmd@ -set $emoji_picker @emoji_cmd@ -set $locker @lock_cmd@ +set $term xdg-terminal-exec +set $menu fuzzel +set $emoji_picker splatmoji -s medium-light type +set $locker swaylock --indicator-idle-visible --indicator-radius 100 --indicator-thickness 30 set $snippets_picker @snip_cmd@ set $screenshot @screenshot_cmd@ set $brightness_up @brightness_up_cmd@ set $brightness_down @brightness_down_cmd@ -set $volume_up @vol_up_cmd@ -set $volume_down @vol_down_cmd@ -set $mute @mute_cmd@ +# TODO: use native pipewire controls instead of pulsemixer? +set $volume_up pulsemixer --change-volume +5 +set $volume_down pulsemixer --change-volume -5 +set $mute pulsemixer --toggle-mute set $default_workspace_layout @workspace_layout@ ### default font (for e.g. window titles) @@ -60,10 +61,10 @@ bindsym $mod+Page_Up exec $volume_up bindsym $mod+Page_Down exec $volume_down # --locked means to keep the binding active even when display is locked/off bindsym --locked XF86AudioMute exec $mute -bindsym --locked XF86AudioPlay exec @playerctl@ play-pause -bindsym --locked XF86AudioStop exec @playerctl@ stop -bindsym --locked XF86AudioNext exec @playerctl@ next -bindsym --locked XF86AudioPrev exec @playerctl@ previous +bindsym --locked XF86AudioPlay exec playerctl play-pause +bindsym --locked XF86AudioStop exec playerctl stop +bindsym --locked XF86AudioNext exec playerctl next +bindsym --locked XF86AudioPrev exec playerctl previous bindsym --locked XF86MonBrightnessUp exec $brightness_up bindsym --locked XF86MonBrightnessDown exec $brightness_down @@ -137,7 +138,7 @@ mode "resize" { } bar { - swaybar_command @waybar@ + swaybar_command waybar } ### application-specific settings diff --git a/hosts/modules/gui/sway/sway-config.nix b/hosts/modules/gui/sway/sway-config.nix index bf0550b1..50be781e 100644 --- a/hosts/modules/gui/sway/sway-config.nix +++ b/hosts/modules/gui/sway/sway-config.nix @@ -5,14 +5,6 @@ }: let prog = config.sane.programs; - # TODO: move all of this inline into the non-nix sway-config - launcher_cmd = "fuzzel"; - terminal_cmd = "xdg-terminal-exec"; - lock_cmd = "swaylock --indicator-idle-visible --indicator-radius 100 --indicator-thickness 30"; - # TODO: use pipewire controls? - vol_up_cmd = "pulsemixer --change-volume +5"; - vol_down_cmd = "pulsemixer --change-volume -5"; - mute_cmd = "pulsemixer --toggle-mute"; # "bookmarking"/snippets inspired by Luke Smith: # - snip_cmd_pkg = writeShellApplication { @@ -31,19 +23,9 @@ let }; snip_cmd = "${snip_cmd_pkg}/bin/type-snippet"; # TODO: splatmoji release > 1.2.0 should allow `-s none` to disable skin tones - emoji_cmd = "splatmoji -s medium-light type"; in substituteAll { src = ./sway-config; - inherit - emoji_cmd - launcher_cmd - lock_cmd - mute_cmd - snip_cmd - terminal_cmd - vol_down_cmd - vol_up_cmd - ; + inherit snip_cmd; inherit (swayCfg) background brightness_down_cmd @@ -55,6 +37,4 @@ in substituteAll { workspace_layout ; xwayland = if swayCfg.xwayland then "enable" else "disable"; - playerctl = "playerctl"; - waybar = "waybar"; }