summaryrefslogtreecommitdiff
path: root/nixos/home-configuration/apps/sway.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/home-configuration/apps/sway.nix')
-rwxr-xr-xnixos/home-configuration/apps/sway.nix111
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";
+ }];
+ };
+}