diff options
| author | coasteen <coasteen@proton.me> | 2026-07-09 10:42:28 +0330 |
|---|---|---|
| committer | coasteen <coasteen@proton.me> | 2026-07-09 10:42:28 +0330 |
| commit | 8cbadb61604667b407b53ee1258433994fa4765a (patch) | |
| tree | 97765fb29418fd6278fcb4cbb9760893afaf7a58 /nixos/home-configuration/apps/sway.nix | |
Diffstat (limited to 'nixos/home-configuration/apps/sway.nix')
| -rwxr-xr-x | nixos/home-configuration/apps/sway.nix | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/nixos/home-configuration/apps/sway.nix b/nixos/home-configuration/apps/sway.nix new file mode 100755 index 0000000..c5a2868 --- /dev/null +++ b/nixos/home-configuration/apps/sway.nix @@ -0,0 +1,111 @@ +{ + pkgs, + ... +}: let + left = "h"; + down = "j"; + up = "k"; + right = "l"; + + modifier = "Mod4"; + terminal = "${pkgs.foot}/bin/footclient"; + menu = "${pkgs.wmenu}/bin/wmenu-run"; +in +{ + wayland.windowManager.sway = { + enable = false; + wrapperFeatures.gtk = true; + extraConfig = '' + exec swaymsg workspace 1 + default_border pixel 2 + default_floating_border pixel 2 + for_window [class=".*"] border pixel 2 + + client.focused #F5C2E7 #6C7086 #C6D0F5 #6C7086 #6C7086 + client.focused_inactive #313244 #313244 #C6D0F5 #585B70 #313244 + client.unfocused #313244 #313244 #A6ADC8 #313244 #313244 + client.urgent #F38BA8 #6C7086 #FFFFFF #F38BA8 #6C7086 + + seat * xcursor_theme Adwaita 24 + + input * xkb_options caps:escape + ''; + config = { + modifier = "Mod4"; + gaps = { + inner = 8; + outer = 10; + }; + bars = []; + output.eDP-1.disable = ""; + keybindings = { + "${modifier}+Return" = "exec ${terminal}"; + "${modifier}+Shift+Return" = "exec ${menu} -l 10"; + "${modifier}+r" = "exec rofi -show drun"; + "${modifier}+s" = "kill"; + "${modifier}+Print" = "exec /home/coast/.local/src/local/bin/screenie-wlr"; + "${modifier}+1" = "workspace 1"; + "${modifier}+2" = "workspace 2"; + "${modifier}+3" = "workspace 3"; + "${modifier}+4" = "workspace 4"; + "${modifier}+5" = "workspace 5"; + "${modifier}+6" = "workspace 6"; + "${modifier}+7" = "workspace 7"; + "${modifier}+8" = "workspace 8"; + "${modifier}+9" = "workspace 9"; + "${modifier}+Shift+1" = "move container to workspace 1"; + "${modifier}+Shift+2" = "move container to workspace 2"; + "${modifier}+Shift+3" = "move container to workspace 3"; + "${modifier}+Shift+4" = "move container to workspace 4"; + "${modifier}+Shift+5" = "move container to workspace 5"; + "${modifier}+Shift+6" = "move container to workspace 6"; + "${modifier}+Shift+7" = "move container to workspace 7"; + "${modifier}+Shift+8" = "move container to workspace 8"; + "${modifier}+Shift+9" = "move container to workspace 9"; + "${modifier}+h" = "focus left"; + "${modifier}+j" = "focus down"; + "${modifier}+k" = "focus up"; + "${modifier}+l" = "focus right"; + "${modifier}+Shift+i" = "exec caja"; + "${modifier}+Shift+r" = "reload"; + "${modifier}+Shift+q" = "exit"; + "${modifier}+Shift+v" = "exec vesktop --ozone-platform=wayland"; + "${modifier}+Shift+p" = "exec /home/coast/.local/src/local/bin/setwall.py"; + "${modifier}+Shift+d" = "mode 'resize'"; + "${modifier}+space" = "floating toggle"; + + #lock the screen + "${modifier}+Shift+l" = "exec swaylock -c 000000"; + #layouts + "${modifier}+Shift+u" = "layout tabbed"; + "${modifier}+Shift+y" = "layout stacking"; + "${modifier}+Shift+t" = "layout toggle split"; + }; + modes = { + resize = { + ${right} = "resize shrink width 10 px"; + ${up} = "resize grow height 10 px"; + ${down} = "resize shrink height 10 px"; + ${left} = "resize grow width 10 px"; + + "Escape" = "mode default"; + "Return" = "mode default"; + }; + }; + startup = [ + { command = "swaybg -i /home/coast/Downloads/wall1.png -m fill"; always = true; } + { command = "waybar"; } + { command = "foot -s"; always = true; } + { command = "autotiling"; } + ]; + }; + }; + + services.swayidle = { + enable = true; + timeouts = [{ + timeout = 300; + command = "${pkgs.swaylock}/bin/swaylock --daemonize --color 000000"; + }]; + }; +} |
