home-manager @ 7cbc4ace0072945d20f0ed5dcadc953664458c78

  1{
  2  pkgs,
  3  inputs,
  4  ...
  5}: {
  6  xdg.configFile."sway/config".text = ''
  7    output eDP1 pos 3537 0 res 1920 1200
  8    output DP-3 scale 1.4
  9    output DP-3 pos 2440 0 res 3840 2160
 10
 11    set $mod Mod4
 12    set $term ghostty
 13
 14    font pango:iosevka 20
 15
 16    exec dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
 17    exec /usr/libexec/pipewire-launcher
 18
 19    focus_follows_mouse no
 20
 21    for_window [class="^.*"] border pixel 3
 22    default_border pixel 5
 23    default_floating_border pixel 5
 24    hide_edge_borders both
 25
 26    floating_modifier $mod
 27
 28    # custom shortcut
 29    bindsym $mod+Shift+q kill
 30    bindsym $mod+t exec $term
 31    bindsym $mod+d exec wofi --show run
 32    bindsym $mod+c exec comment
 33    bindsym $mod+n exec neovide
 34    bindsym $mod+x exec open_web
 35    bindsym $mod+Shift+p exec maim --select | wl-copy
 36    bindsym $mod+p exec grim  -g "$(slurp)" - | wl-copy
 37    bindsym $mod+Shift+d exec wofi --show drun
 38    bindsym $mod+Shift+minus move scratchpad
 39    bindsym $mod+minus scratchpad show
 40
 41    bindsym $mod+j focus down
 42    bindsym $mod+k focus up
 43    bindsym $mod+l focus right
 44    bindsym $mod+h focus left
 45
 46    # move focused window
 47    bindsym $mod+Shift+h move left
 48    bindsym $mod+Shift+j move down
 49    bindsym $mod+Shift+k move up
 50    bindsym $mod+Shift+l move right
 51
 52    # move focused workspace between monitors
 53    bindsym $mod+Ctrl+greater move workspace to output right
 54    bindsym $mod+Ctrl+less move workspace to output left
 55
 56
 57    # split in vertical orientation
 58    bindsym $mod+v split v
 59
 60    # enter fullscreen mode for the focused container
 61    bindsym $mod+f fullscreen toggle
 62
 63    # change container layout (stacked, tabbed, toggle split)
 64    bindsym $mod+w layout tabbed
 65    bindsym $mod+s layout toggle split
 66
 67
 68    bindsym $mod+Shift+space floating toggle
 69    bindsym $mod+a sticky toggle
 70
 71    # change focus between tiling / floating windows
 72    bindsym $mod+space focus mode_toggle
 73
 74    # Define names for default workspaces for which we configure key bindings later on.
 75    # We use variables to avoid repeating the names in multiple places.
 76    set $ws1 "1.web"
 77    set $ws2 "2.nvim"
 78    set $ws3 "3.work"
 79    set $ws4 "4.buffer"
 80    set $ws5 "5.chat"
 81    set $ws6 "6"
 82    set $ws7 "7"
 83    set $ws8 "8"
 84    set $ws9 "9"
 85    set $ws10 "10"
 86
 87    # switch to workspace
 88    bindsym $mod+1 workspace $ws1
 89    bindsym $mod+2 workspace $ws2
 90    bindsym $mod+3 workspace $ws3
 91    bindsym $mod+4 workspace $ws4
 92    bindsym $mod+5 workspace $ws5
 93    bindsym $mod+6 workspace $ws6
 94    bindsym $mod+7 workspace $ws7
 95    bindsym $mod+8 workspace $ws8
 96    bindsym $mod+9 workspace $ws9
 97    bindsym $mod+0 workspace $ws10
 98
 99    # move focused container to workspace
100    bindsym $mod+Shift+1 move container to workspace $ws1
101    bindsym $mod+Shift+2 move container to workspace $ws2
102    bindsym $mod+Shift+3 move container to workspace $ws3
103    bindsym $mod+Shift+4 move container to workspace $ws4
104    bindsym $mod+Shift+5 move container to workspace $ws5
105    bindsym $mod+Shift+6 move container to workspace $ws6
106    bindsym $mod+Shift+7 move container to workspace $ws7
107    bindsym $mod+Shift+8 move container to workspace $ws8
108    bindsym $mod+Shift+9 move container to workspace $ws9
109    bindsym $mod+Shift+0 move container to workspace $ws10
110
111    # reload the configuration file
112    bindsym $mod+Shift+c reload
113    # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
114    bindsym $mod+Shift+r restart
115
116    # resize window (you can also use the mouse for that)
117    mode "resize" {
118            bindsym h resize shrink width 10 px or 10 ppt
119            bindsym j resize grow height 10 px or 10 ppt
120            bindsym k resize shrink height 10 px or 10 ppt
121            bindsym l resize grow width 10 px or 10 ppt
122
123            # same bindings, but for the arrow keys
124            bindsym Left resize shrink width 10 px or 10 ppt
125            bindsym Down resize grow height 10 px or 10 ppt
126            bindsym Up resize shrink height 10 px or 10 ppt
127            bindsym Right resize grow width 10 px or 10 ppt
128
129            # back to normal: Enter or Escape or $mod+r
130            bindsym Return mode "default"
131            bindsym Escape mode "default"
132            bindsym $mod+r mode "default"
133    }
134
135    bindsym $mod+r mode "resize"
136
137    # class                 border  bground text    indicator child_border
138    client.focused          #83CAFA #51A2DA #FFFFFF #83CAFA   #51A2DA
139    client.unfocused        #4C4C4C #222222 #888888 #292D2E   #222222
140    client.urgent           #EC69A0 #DB3279 #FFFFFF #DB3279   #DB3279
141    client.placeholder      #000000 #0C0C0C #FFFFFF #000000   #0C0C0C
142
143    client.background       #FFFFFF
144
145    bar {
146        swaybar_command waybar
147    }
148
149    input type:keyboard {
150        xkb_layout us,us_intl,de
151        xkb_options grp:rctrl_toggle
152    }
153
154    gaps outer 5
155    gaps inner 5
156    output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
157    output "LG Electronics LG HDR 4K 0x0001A8D9" scale 1.4
158
159
160    exec nextcloud
161    exec mako
162    exec blueman-applet
163  '';
164}