sway: simplify config templating

This commit is contained in:
Colin 2024-02-06 23:04:44 +00:00
parent 0c050d1953
commit 0f12ed68f7
2 changed files with 14 additions and 33 deletions

View File

@ -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

View File

@ -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:
# - <https://www.youtube.com/watch?v=d_11QaTlf1I>
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";
}