78 lines
2.3 KiB
Nix
78 lines
2.3 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
defaults,
|
|
...
|
|
}: let
|
|
terminal =
|
|
if (defaults.terminal == "foot")
|
|
then "footclient"
|
|
else "${defaults.terminal}";
|
|
in {
|
|
config = {
|
|
wayland.windowManager.sway = {
|
|
config = {
|
|
assigns = {
|
|
"1: web" = [{class = "^Firefox$";}];
|
|
"9: steam" = [{class = "^Steam$";}];
|
|
};
|
|
|
|
workspaceAutoBackAndForth = true;
|
|
|
|
modifier = "Mod4";
|
|
keybindings = let
|
|
m = config.wayland.windowManager.sway.config.modifier;
|
|
in
|
|
lib.mkOptionDefault {
|
|
"${m}+Return" = "exec ${terminal}";
|
|
"${m}+space" = "exec anyrun";
|
|
|
|
# utilities
|
|
"${m}+q" = "kill";
|
|
"${m}+t" = "floating toggle";
|
|
|
|
# screenshots
|
|
"Print" = "grim -g \"$(slurp)\" - | wl-copy -t image/png";
|
|
"${m}+Shift+r" = "grim -g \"$(slurp)\" - | wl-copy -t image/png";
|
|
"Alt+Print" = "grim - | wl-copy -t image/png";
|
|
"${m}+Alt+Shift+r" = "grim - | wl-copy -t image/png";
|
|
};
|
|
|
|
keycodebindings = {
|
|
"--locked --no-repeat 121" = "exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; # mute
|
|
"--locked 122" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 6%-"; # vol-
|
|
"--locked 123" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 6%+"; # vol+
|
|
"--locked 171" = "exec playerctl next"; # next song
|
|
"--locked --no-repeat 172" = "exec playerctl play-pause"; # play/pause
|
|
"--locked 173" = "exec playerctl previous"; # prev song
|
|
"--locked --no-repeat 198" = "exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; # mic mute
|
|
"--locked 232" = "exec light -U 5"; # brightness-
|
|
"--locked 233" = "exec light -A 5"; # brightness+
|
|
};
|
|
|
|
menu = "anyrun";
|
|
bars = [];
|
|
|
|
gaps = {
|
|
smartBorders = "on";
|
|
outer = 5;
|
|
inner = 5;
|
|
};
|
|
|
|
startup = [{command = "dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY";}];
|
|
|
|
input = {
|
|
"type:pointer" = {
|
|
accel_profile = "flat";
|
|
pointer_accel = "0";
|
|
};
|
|
"type:touchpad" = {
|
|
middle_emulation = "enabled";
|
|
natural_scroll = "enabled";
|
|
tap = "enabled";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|