summaryrefslogtreecommitdiff
path: root/home-manager/addons/sway-config.nix
blob: b268fd0d31800220e4a22804a588fcf84e274939 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{ pkgs }: { text = ''

exec ${pkgs.foot}/bin/foot --server
exec_always ${pkgs.kanshi}/bin/kanshi
exec ${pkgs.pulseaudio}/bin/pulseaudio --start
exec systemctl --user import-environment

#exec ${pkgs.eww-wayland}/bin/eww daemon
#exec ${pkgs.eww-wayland}/bin/eww open bar0
#exec ${pkgs.eww-wayland}/bin/eww open bar1

set $mod Mod1
set $left h
set $down j
set $up k
set $right l

floating_modifier $mod normal

# Apps
  bindsym $mod+d exec ${pkgs.dmenu}/bin/dmenu_path | ${pkgs.fuzzel}/bin/fuzzel -d | xargs ${pkgs.sway}/bin/swaymsg exec --
  bindsym $mod+Shift+d exec ${pkgs.fuzzel}/bin/fuzzel
  bindsym $mod+Return exec ${pkgs.foot}/bin/footclient
  bindsym $mod+Shift+Return exec ${pkgs.foot}/bin/foot

  bindsym $mod+p exec fuzzel-emoji
  bindsym $mod+o exec fuzzel-pass

  bindsym $mod+a exec ${pkgs.gtklock}/bin/gtklock

# Basic
  bindsym $mod+Shift+q kill
  bindsym $mod+Shift+r reload;
  bindsym $mod+f fullscreen
  bindsym $mod+Shift+space floating toggle

  bindsym $mod+b splith
  bindsym $mod+v splitv

# Multimedia
  # Sound
  bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
  bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
  bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
  bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle

  # Screen Brightness
  bindsym XF86MonBrightnessUp exec light -A 10
  bindsym XF86MonBrightnessDown exec light -U 10

# Movement
  # Move your focus around
  bindsym $mod+$left focus left
  bindsym $mod+$down focus down
  bindsym $mod+$up focus up
  bindsym $mod+$right focus right

  # Move the focused window with the same, but add Shift
  bindsym $mod+Shift+$left move left
  bindsym $mod+Shift+$down move down
  bindsym $mod+Shift+$up move up
  bindsym $mod+Shift+$right move right

# Workspace
  # Switch to workspace
  bindsym $mod+1 workspace number 1
  bindsym $mod+2 workspace number 2
  bindsym $mod+3 workspace number 3
  bindsym $mod+4 workspace number 4
  bindsym $mod+5 workspace number 5
  bindsym $mod+6 workspace number 6
  bindsym $mod+7 workspace number 7
  bindsym $mod+8 workspace number 8
  bindsym $mod+9 workspace number 9
  bindsym $mod+0 workspace number 10

  # Move focused container to workspace
  bindsym $mod+Shift+1 move container to workspace number 1
  bindsym $mod+Shift+2 move container to workspace number 2
  bindsym $mod+Shift+3 move container to workspace number 3
  bindsym $mod+Shift+4 move container to workspace number 4
  bindsym $mod+Shift+5 move container to workspace number 5
  bindsym $mod+Shift+6 move container to workspace number 6
  bindsym $mod+Shift+7 move container to workspace number 7
  bindsym $mod+Shift+8 move container to workspace number 8
  bindsym $mod+Shift+9 move container to workspace number 9
  bindsym $mod+Shift+0 move container to workspace number 10

# Resize
  mode "resize" {
    # left will shrink the containers width
    # right will grow the containers width
    # up will shrink the containers height
    # down will grow the containers height
    bindsym $left resize shrink width 10px
    bindsym $down resize grow height 10px
    bindsym $up resize shrink height 10px
    bindsym $right resize grow width 10px

    # Ditto, with arrow keys
    bindsym Left resize shrink width 10px
    bindsym Down resize grow height 10px
    bindsym Up resize shrink height 10px
    bindsym Right resize grow width 10px

    # Return to default mode
    bindsym Return mode "default"
    bindsym Escape mode "default"
  }

  bindsym $mod+r mode "resize"

# Status Bar
  bar {
    position top
    font "Neo Comic Mono 12"
  }

  exec ${pkgs.sway}/bin/swaybar --bar_id bar-0

# Window border
  default_border none
  default_floating_border none
  font pango:monospace 0
  titlebar_padding 1
  titlebar_border_thickness 0

# Input
  input "type:keyboard" {
    xkb_options caps:escape
  }

  input "2:7:SynPS/2_Synaptics_TouchPad" {
    natural_scroll enabled
  }

include @sysconfdir@/sway/config.d/*
''; }
Software created with 💖