168 lines
5.0 KiB
Nix
168 lines
5.0 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
wayland.windowManager.sway = {
|
|
enable = true;
|
|
config = {
|
|
# Input configuration
|
|
input = {
|
|
"type:touchpad" = {
|
|
natural_scroll = "enabled";
|
|
tap = "enabled";
|
|
tap_button_map = "lrm";
|
|
scroll_method = "two_finger";
|
|
};
|
|
"type:pointer" = {
|
|
natural_scroll = "enabled";
|
|
};
|
|
};
|
|
|
|
# Key bindings
|
|
keybindings = {
|
|
"Mod4+Return" = "exec alacritty";
|
|
"Mod4+Shift+q" = "kill";
|
|
"Mod4+b" = "exec vivaldi";
|
|
"Mod4+d" = "exec wofi --show drun --width 500 --height 350 --border 2 --prompt \"Apps\" --allow-images --gtk-dark";
|
|
"Mod4+Shift+d" = "exec wofi --show run --width 400 --height 200 --prompt \"Run\"";
|
|
"Mod4+Tab" = "exec ~/.config/sway/scripts/window-switcher.sh";
|
|
"Mod4+Shift+c" = "reload";
|
|
"Mod4+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
|
|
|
# Focus movement
|
|
"Mod4+h" = "focus left";
|
|
"Mod4+j" = "focus down";
|
|
"Mod4+k" = "focus up";
|
|
"Mod4+l" = "focus right";
|
|
"Mod4+Left" = "focus left";
|
|
"Mod4+Down" = "focus down";
|
|
"Mod4+Up" = "focus up";
|
|
"Mod4+Right" = "focus right";
|
|
|
|
# Move windows
|
|
"Mod4+Shift+h" = "move left";
|
|
"Mod4+Shift+j" = "move down";
|
|
"Mod4+Shift+k" = "move up";
|
|
"Mod4+Shift+l" = "move right";
|
|
"Mod4+Shift+Left" = "move left";
|
|
"Mod4+Shift+Down" = "move down";
|
|
"Mod4+Shift+Up" = "move up";
|
|
"Mod4+Shift+Right" = "move right";
|
|
|
|
# Workspace switching
|
|
"Mod4+1" = "workspace number 1";
|
|
"Mod4+2" = "workspace number 2";
|
|
"Mod4+3" = "workspace number 3";
|
|
"Mod4+4" = "workspace number 4";
|
|
"Mod4+5" = "workspace number 5";
|
|
"Mod4+6" = "workspace number 6";
|
|
"Mod4+7" = "workspace number 7";
|
|
"Mod4+8" = "workspace number 8";
|
|
"Mod4+9" = "workspace number 9";
|
|
"Mod4+0" = "workspace number 10";
|
|
|
|
# Move containers to workspaces
|
|
"Mod4+Shift+1" = "move container to workspace number 1";
|
|
"Mod4+Shift+2" = "move container to workspace number 2";
|
|
"Mod4+Shift+3" = "move container to workspace number 3";
|
|
"Mod4+Shift+4" = "move container to workspace number 4";
|
|
"Mod4+Shift+5" = "move container to workspace number 5";
|
|
"Mod4+Shift+6" = "move container to workspace number 6";
|
|
"Mod4+Shift+7" = "move container to workspace number 7";
|
|
"Mod4+Shift+8" = "move container to workspace number 8";
|
|
"Mod4+Shift+9" = "move container to workspace number 9";
|
|
"Mod4+Shift+0" = "move container to workspace number 10";
|
|
|
|
"Mod4+f" = "fullscreen";
|
|
"Mod4+Shift+b" = "exec pkill waybar; waybar &";
|
|
};
|
|
|
|
# Window rules
|
|
window = {
|
|
commands = [
|
|
{
|
|
criteria = { class = ".*"; };
|
|
command = "border pixel 2";
|
|
}
|
|
{
|
|
criteria = { app_id = ".*"; };
|
|
command = "border pixel 2";
|
|
}
|
|
{
|
|
criteria = { window_role = "dialog"; };
|
|
command = "border normal";
|
|
}
|
|
{
|
|
criteria = { window_type = "dialog"; };
|
|
command = "border normal";
|
|
}
|
|
];
|
|
titlebar = false;
|
|
};
|
|
|
|
# Assignments
|
|
assigns = {
|
|
"9" = [{ class = "Vivaldi-stable"; }];
|
|
};
|
|
|
|
# Gaps
|
|
gaps = {
|
|
inner = 8;
|
|
outer = 12;
|
|
};
|
|
|
|
# Colors (Tokyo Night theme)
|
|
colors = {
|
|
focused = {
|
|
border = "#7aa2f7";
|
|
background = "#7aa2f7";
|
|
text = "#1a1b26";
|
|
indicator = "#7aa2f7";
|
|
childBorder = "#7aa2f7";
|
|
};
|
|
focusedInactive = {
|
|
border = "#24283b";
|
|
background = "#24283b";
|
|
text = "#c0caf5";
|
|
indicator = "#24283b";
|
|
childBorder = "#24283b";
|
|
};
|
|
unfocused = {
|
|
border = "#24283b";
|
|
background = "#1a1b26";
|
|
text = "#9aa5ce";
|
|
indicator = "#24283b";
|
|
childBorder = "#24283b";
|
|
};
|
|
urgent = {
|
|
border = "#f7768e";
|
|
background = "#f7768e";
|
|
text = "#1a1b26";
|
|
indicator = "#f7768e";
|
|
childBorder = "#f7768e";
|
|
};
|
|
};
|
|
|
|
# Output configuration
|
|
output = {
|
|
"*" = {
|
|
#bg = "/home/jared/.config/sway/wallpapers/starters_and_pika.jpg fill";
|
|
};
|
|
};
|
|
|
|
# Seat configuration
|
|
seat = {
|
|
"seat0" = {
|
|
xcursor_theme = "Bibata-Modern-Ice 24";
|
|
};
|
|
};
|
|
|
|
# Startup commands
|
|
startup = [
|
|
{ command = "waybar"; }
|
|
{ command = "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway"; }
|
|
{ command = "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"; }
|
|
];
|
|
};
|
|
};
|
|
}
|