about summary refs log tree commit diff
path: root/home/profiles/base/config/sway.nix
diff options
context:
space:
mode:
authorsefidel <contact@sefidel.net>2022-01-18 17:38:31 +0900
committersefidel <contact@sefidel.net>2022-01-18 17:38:31 +0900
commit7a372ed81256ce5d6aa608be9bebe173ab4e042e (patch)
tree29c7ee0a316ae0dc21ce3fe22342ec2c36ee0f4c /home/profiles/base/config/sway.nix
parent2bdc141bebd35cc38396271c42b23b6f89d032a0 (diff)
downloadnixrc-7a372ed81256ce5d6aa608be9bebe173ab4e042e.tar.gz
nixrc-7a372ed81256ce5d6aa608be9bebe173ab4e042e.zip
project: rewrite
Diffstat (limited to 'home/profiles/base/config/sway.nix')
-rw-r--r--home/profiles/base/config/sway.nix204
1 files changed, 204 insertions, 0 deletions
diff --git a/home/profiles/base/config/sway.nix b/home/profiles/base/config/sway.nix
new file mode 100644
index 0000000..00dae28
--- /dev/null
+++ b/home/profiles/base/config/sway.nix
@@ -0,0 +1,204 @@
+{ pkgs, neotheme }:
+
+with neotheme.colors;
+
+''
+  exec autotiling
+
+  # set modifiers
+  set $mod Mod4
+  set $alt Mod1
+  set $floating_modifier $mod
+  set $left  h
+  set $down  j
+  set $up    k
+  set $right l
+
+  # set terminal
+
+  set $term foot 
+  bindsym $mod+Return exec $term
+
+  # set menu
+    set $menu "${pkgs.bemenu}/bin/bemenu-run -H 18 -l 5 --fn 'Iosevka Pure 10.5' -p 'run::' --tb '$primary' --tf '$color0' --hb '$primary' --hf '$color0'"
+  bindsym $mod+d exec $menu
+
+  # change focus
+  # vim-style
+  bindsym $mod+$left  focus left
+  bindsym $mod+$down  focus down
+  bindsym $mod+$up    focus up
+  bindsym $mod+$right focus right
+  # arrows
+  bindsym $mod+Left  focus left
+  bindsym $mod+Down  focus down
+  bindsym $mod+Up    focus up
+  bindsym $mod+Right focus right
+
+  # move focused window
+  # vim-style
+  bindsym $mod+Shift+$left move left
+  bindsym $mod+Shift+$down move down
+  bindsym $mod+Shift+$up move up
+  bindsym $mod+Shift+$right move right
+  # arrows
+  bindsym $mod+Shift+Left move left
+  bindsym $mod+Shift+Down move down
+  bindsym $mod+Shift+Up move up
+  bindsym $mod+Shift+Right move right
+
+  # split
+  bindsym $mod+c split h # horizontal
+  bindsym $mod+v split v # vertical
+
+  # fullscreen
+  bindsym $mod+e fullscreen toggle
+
+  # floating
+  bindsym $mod+f floating toggle
+
+  # kill focused
+  bindsym $mod+w kill
+
+  font "pango:Iosevka Pure 5"
+
+  # window rules
+  for_window [window_role="pop-up"]      floating enable
+  for_window [window_role="bubble"]      floating enable
+  for_window [window_role="task_dialog"] floating enable
+  for_window [window_role="Preferences"] floating enable
+  for_window [window_type="dialog"]      floating enable
+  for_window [window_type="menu"]        floating enable
+  for_window [class="mpv"]               floating enable
+  for_window [class=".*"]                inhibit_idle fullscreen
+  for_window [app_id=".*"]               title_format ""
+  for_window [class=".*"]                title_format ""
+
+  titlebar_border_thickness 0
+  titlebar_padding 0 0
+
+  # workspace names
+  set $ws1 "α"
+  set $ws2 "β"
+  set $ws3 "γ"
+  set $ws4 "δ"
+  set $ws5 "ε"
+  set $ws6 "ζ"
+  set $ws7 "η"
+  set $ws8 "θ"
+  set $ws9 "ι"
+  set $ws10 "κ"
+
+  # switch to named ws
+  bindsym $mod+1 workspace $ws1
+  bindsym $mod+2 workspace $ws2
+  bindsym $mod+3 workspace $ws3
+  bindsym $mod+4 workspace $ws4
+  bindsym $mod+5 workspace $ws5
+  bindsym $mod+6 workspace $ws6
+  bindsym $mod+7 workspace $ws7
+  bindsym $mod+8 workspace $ws8
+  bindsym $mod+9 workspace $ws9
+  bindsym $mod+0 workspace $ws10
+
+  # switch to prev/next ws
+  bindsym $mod+z workspace prev
+  bindsym $mod+x workspace next
+
+  # move focused container to ws
+  bindsym $mod+Shift+1 move container to workspace $ws1
+  bindsym $mod+Shift+2 move container to workspace $ws2
+  bindsym $mod+Shift+3 move container to workspace $ws3
+  bindsym $mod+Shift+4 move container to workspace $ws4
+  bindsym $mod+Shift+5 move container to workspace $ws5
+  bindsym $mod+Shift+6 move container to workspace $ws6
+  bindsym $mod+Shift+7 move container to workspace $ws7
+  bindsym $mod+Shift+8 move container to workspace $ws8
+  bindsym $mod+Shift+9 move container to workspace $ws9
+  bindsym $mod+Shift+0 move container to workspace $ws10
+  bindsym $mod+Shift+z move container to workspace prev
+  bindsym $mod+Shift+x move container to workspace next
+
+  # ws back-and-forth
+  workspace_auto_back_and_forth no
+
+  # reload
+  bindsym $mod+q reload
+
+  # application shortcuts
+  bindsym $mod+a exec qutebrowser
+  # bindsym $mod+Shift+a
+
+  # Volume control
+  bindsym XF86AudioRaiseVolume exec ~/.local/bin/volume up
+  bindsym XF86AudioLowerVolume exec ~/.local/bin/volume down
+  bindsym XF86AudioMute        exec ~/.local/bin/volume toggle
+  #HHKB
+  bindsym $mod+equal           exec ~/.local/bin/volume up
+  bindsym $mod+minus           exec ~/.local/bin/volume down
+  bindsym $mod+backslash       exec ~/.local/bin/volume toggle
+
+  # Brightness
+  bindsym XF86MonBrightnessDown exec brightnessctl -q set 10%-
+  bindsym XF86MonBrightnessUp   exec brightnessctl -q set 10%+
+  
+  # Screenshot
+  bindsym $mod+Print exec grimshot copy area
+  bindsym Print      exec grimshot copy active
+  bindsym $alt+Print exec grimshot save screen
+
+  # Toggle waybar
+  bindsym $mod+b exec pkill -USR1 waybar
+
+  # Exit
+  bindsym $mod+Shift+q exec swaynag -t warning -m 'Do you really want to exit sway?' -b 'Yes, exit sway' 'swaymsg exit'
+
+  # Aesthetics
+  default_border pixel 3
+  hide_edge_borders --i3 smart
+  gaps inner 8
+  smart_borders on
+
+  set $color0 #${color0}
+  set $color1 #${color1}
+  set $color2 #${color2}
+  set $color3 #${color3}
+  set $color4 #${color4}
+  set $color5 #${color5}
+  set $color6 #${color6}
+  set $color7 #${color7}
+  set $color8 #${bright0}
+  set $color9 #${bright1}
+  set $color10 #${bright2}
+  set $color11 #${bright3}
+  set $color12 #${bright4}
+  set $color13 #${bright5}
+  set $color14 #${bright6}
+  set $color15 #${bright7}
+
+  set $primary $color4
+  set $muted #4d698f
+
+  # class                 border    backgr    text    indicator
+  client.focused          $primary $primary $color0 $color5
+  client.focused_inactive $muted $muted $color0 $color5
+  client.unfocused        $muted $muted $color7 $color5
+  client.urgent           $color10 $color10 $color0 $color5
+  output "*" bg ${neotheme.wallpaper} fill
+  output "*" scale 1
+  output "*" scale_filter nearest
+  
+  input type:touchpad {
+    tap enabled
+    natural_scroll enabled
+  }
+
+  input type:keyboard {
+    repeat_rate 40
+    repeat_delay 350
+    xkb_layout us,se
+    # xkb_variant ,dvorak
+    xkb_options 'grp:alt_shift_toggle,caps:escape'                                                                                                                                                                                               
+    # xkb_options ctrl:swapcaps                                                                                                          
+  }
+''