Skip to content

Commit 158a49a

Browse files
committed
Setup with i3 and lemonbar
Includes configs for zsh, nvim, and scripts that I use. All are managed with gnu stow through the bootstrap script, which also modifies configs for my use on OSX.
1 parent 1c07561 commit 158a49a

33 files changed

Lines changed: 3707 additions & 439 deletions

File tree

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
## dotfiles
2+
3+
![screenshot of ncmpcpp](scrots/music.png)
4+
![screenshot of vim and terminal](scrots/vim.png)
5+
6+
### theme
7+
+ **colors** _custom_
8+
+ **fonts** _Roboto_
9+
+ **wallpaper** *[from pixabay](https://pixabay.com/en/mountain-clouds-landscape-nature-983914/)*
10+
11+
### software
12+
* **arch** *gnu/linux distro*
13+
* **i3-gaps** *window manager*
14+
* **lemonbar-xft** *status bar*
15+
* **rxvt-unicode-24bit** *terminal emulator* with full color support
16+
* **zsh** *shell*
17+
* **prezto** *zsh config framework*
18+
* **rofi** *launcher*
19+
* **gnu stow** *dotfiles/symlink manager*
20+
21+
#
22+
* **google chrome** *browser*
23+
* **humble new tab page** *start page*
24+
* **modern flat** *theme*
25+
26+
#
27+
* **mpd** *music daemon*
28+
* **ncmpcpp** *mpd frontend*
29+
* **GMusicProxy** *google play music for mpd*
30+
* **gmpplay** *helper for GMusicProxy*
31+
32+
#
33+
* **vim** *text editor*
34+
* **vim-plug** *plugin manager*
35+
* **vim-airline** *status line*
36+
* **syntastic** *linter*
37+
* **supertab** *tab completion*
38+
* **gruvbox** *theme* used as base with customized colors
39+
* **vim-commentary** *comment out stuff*
40+
* **colorizer** *highlight colors*
41+
42+
### scripts
43+
* **bootstrap** symlinks this repository into the appropriate locations using gnu stow. Also modifies certain files for use on OSX
44+
* **ricemyride** generates configs for Xresources, vim, i3config, etc.
45+
* **music** opens ncmpcpp and ncmpcpp visualizer in dedicated workspace

bootstrap

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env bash
2+
3+
#symlink using gnu stow
4+
5+
gitdir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
6+
7+
if [ "$(uname)" = "Linux" ]; then
8+
stow -v${@/-/} -d "$gitdir" -t "$HOME" -S i3 lemonbar ncmpcpp nvim scripts shell
9+
10+
elif [ "$(uname)" = "Darwin" ]; then
11+
#first edit files for osx
12+
13+
#edit .aliases
14+
sed -e "/#arch/q;p" $gitdir/shell/.aliases > $gitdir/osx/.aliases
15+
16+
#edit .zshrc
17+
sed -e '/#virtualenvs/{N;N;d;}' $gitdir/shell/.zshrc > $gitdir/osx/.zshrc
18+
19+
#edit zpreztorc
20+
sed -e "s/'pacman'/'osx' \\\\\\
21+
\ \ 'homebrew'/g" -e "/zstyle ':prezto:module:pacman' frontend/s/^/#/g" $gitdir/shell/.zpreztorc > $gitdir/osx/.zpreztorc
22+
23+
#stow the packages
24+
stow -v${@/-/} -d "$gitdir" -t "$HOME" -S nvim osx
25+
fi
26+
Lines changed: 69 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
#variables
22
set $mod Mod4
33
set $gsi 10
4-
set $gso 10
5-
set $bordersize 5
4+
set $gso 5
5+
set $bordersize 3
66

77
set $background #1d2021
8-
set $foreground #ebdbb2
9-
set $black #282828
10-
set $darkgrey #928374
11-
set $darkred #cc241d
12-
set $red #fb4934
13-
set $darkgreen #98971a
14-
set $green #b8bb26
15-
set $darkyellow #d79921
16-
set $yellow #fabd2f
17-
set $darkblue #458588
18-
set $blue #83a598
19-
set $darkmagenta #b16286
20-
set $magenta #d3869b
21-
set $darkcyan #689d6a
22-
set $cyan #8ec07c
23-
set $lightgrey #a89984
24-
set $white #ebdbb2
25-
26-
client.focused $background $darkgrey $background $yellow
8+
set $foreground #c5c8c6
9+
set $black #1d2021
10+
set $darkgrey #a5b6bc
11+
set $darkred #a54242
12+
set $red #cc6666
13+
set $darkgreen #99cc99
14+
set $green #aae3aa
15+
set $darkyellow #de935f
16+
set $yellow #f0c674
17+
set $darkblue #5f819d
18+
set $blue #81a2be
19+
set $darkmagenta #85678f
20+
set $magenta #b294bb
21+
set $darkcyan #5e8d87
22+
set $cyan #8abeb7
23+
set $lightgrey #5a6066
24+
set $white #c5c8c6
25+
26+
client.focused $background $blue $background $yellow
2727
client.focused_inactive $blue $background $foreground $darkgrey
2828
client.unfocused $background $background $foreground $darkgrey
2929
client.urgent $red $red $background $red
@@ -34,8 +34,8 @@ focus_follows_mouse no
3434
popup_during_fullscreen smart
3535
workspace_layout default
3636

37-
#Font
38-
font pango: Roboto 12
37+
#font
38+
font pango: Roboto 12
3939

4040
#borderstray_output <none|primary|output>
4141
hide_edge_borders none
@@ -47,30 +47,33 @@ new_window pixel $bordersize
4747
#Use Mouse+$mod to drag floating windows to their wanted position
4848
floating_modifier $mod
4949

50-
#Gaps
50+
#gaps
5151
gaps inner $gsi
5252
gaps outer $gso
5353

5454
#arbitrary commands for specific windows
5555
for_window [class="^.*"] border pixel $bordersize
56-
for_window [title="Computers & Contacts"] floating enable
56+
#teamviewer
57+
for_window [title="^TeamViewer Panel$"] sticky enable
58+
for_window [title="^TeamViewer$"] move scratchpad
59+
for_window [title="^Computers & Contacts*"] move scratchpad
60+
#steam
5761
for_window [title="Steam - Update News"] floating enable
62+
assign [class="^Steam$"] 
63+
#other
5864
for_window [window_role="pop-up"] floating enable
5965
for_window [instance="floating"] floating enable
6066
for_window [class="mpv"] floating enable
61-
62-
assign [class="^Steam$"] 
67+
for_window [instance="^imv$"] floating enable
6368

6469
#start a terminal
6570
bindsym $mod+Return exec urxvt
71+
bindsym Control+\ exec urxvt
6672

6773
#kill focused window
6874
bindsym $mod+q kill
6975

70-
#Menu
71-
bindsym Control+space exec --no-startup-id rofi -show run -terminal urxvt -font "Roboto 16" -lines 8 -bw 1 -bc "$black" -bg "$black" -fg "$darkgrey" -hlbg "$darkblue" -hlfg "$white" -no-levenshtein-sort
72-
73-
# change focused window
76+
#change focused window
7477
bindsym $mod+Left focus left
7578
bindsym $mod+Down focus down
7679
bindsym $mod+Up focus up
@@ -81,7 +84,7 @@ bindsym $mod+j focus down
8184
bindsym $mod+k focus up
8285
bindsym $mod+l focus right
8386

84-
# move focused window
87+
#move focused window
8588
bindsym $mod+Shift+Left move left
8689
bindsym $mod+Shift+Down move down
8790
bindsym $mod+Shift+Up move up
@@ -92,24 +95,24 @@ bindsym $mod+Shift+j move down
9295
bindsym $mod+Shift+k move up
9396
bindsym $mod+Shift+l move right
9497

95-
# split in horizontal orientation
98+
#split in horizontal orientation
9699
bindsym $mod+c split h
97100

98-
# split in vertical orientation
101+
#split in vertical orientation
99102
bindsym $mod+v split v
100103

101-
# enter fullscreen mode for the focused container
104+
#enter fullscreen mode for the focused container
102105
bindsym $mod+f fullscreen toggle
103106

104-
# change container layout (stacked, tabbed, toggle split)
107+
#change container layout (stacked, tabbed, toggle split)
105108
bindsym $mod+s layout stacking
106109
bindsym $mod+a layout tabbed
107110
bindsym $mod+d layout toggle split
108111

109-
# toggle tiling / floating
112+
#toggle tiling / floating
110113
bindsym $mod+space floating toggle
111114

112-
# switch to workspace
115+
#switch to workspace
113116
bindsym $mod+1 workspace 1
114117
bindsym $mod+2 workspace 2
115118
bindsym $mod+3 workspace 3
@@ -118,7 +121,7 @@ bindsym $mod+5 workspace 5
118121
bindsym $mod+comma workspace prev
119122
bindsym $mod+period workspace next
120123

121-
# move focused container to workspace
124+
#move focused container to workspace
122125
bindsym $mod+Shift+1 move container to workspace 1
123126
bindsym $mod+Shift+2 move container to workspace 2
124127
bindsym $mod+Shift+3 move container to workspace 3
@@ -127,71 +130,58 @@ bindsym $mod+Shift+5 move container to workspace 5
127130
bindsym $mod+Shift+comma move container to workspace prev
128131
bindsym $mod+Shift+period move container to workspace next
129132

130-
# reload the configuration file
133+
#scratchpad
134+
bindsym $mod+Shift+t scratchpad show
135+
bindsym $mod+t move scratchpad
136+
137+
138+
#reload the configuration file
131139
bindsym $mod+Shift+c reload
132-
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
140+
#restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
133141
bindsym $mod+Shift+r restart
134-
# exit i3 (logs you out of your X session)
142+
#exit i3 (logs you out of your X session)
135143
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Logout?' -b 'Yes' 'i3-msg exit'"
136144

137-
# resize window (you can also use the mouse for that)
145+
#resize window (you can also use the mouse for that)
138146
mode "resize" {
139-
# These bindings trigger as soon as you enter the resize mode
147+
#these bindings trigger as soon as you enter the resize mode
140148

141-
# Pressing left will shrink the window’s width.
142-
# Pressing right will grow the window’s width.
143-
# Pressing up will shrink the window’s height.
144-
# Pressing down will grow the window’s height.
149+
#pressing left will shrink the window’s width.
150+
#pressing right will grow the window’s width.
151+
#pressing up will shrink the window’s height.
152+
#pressing down will grow the window’s height.
145153
bindsym h resize shrink width 10 px or 10 ppt
146154
bindsym j resize grow height 10 px or 10 ppt
147155
bindsym k resize shrink height 10 px or 10 ppt
148156
bindsym l resize grow width 10 px or 10 ppt
149157

150-
# same bindings, but for the arrow keys
158+
#same bindings, but for the arrow keys
151159
bindsym Left resize shrink width 10 px or 10 ppt
152160
bindsym Down resize grow height 10 px or 10 ppt
153161
bindsym Up resize shrink height 10 px or 10 ppt
154162
bindsym Right resize grow width 10 px or 10 ppt
155163

156-
# back to normal: Enter or Escape
164+
#back to normal: Enter or Escape
157165
bindsym Return mode "default"
158166
bindsym Escape mode "default"
159167
}
160168

161169
bindsym $mod+r mode "resize"
162170

163-
#audio bindings
171+
#launcher
172+
bindsym Control+space exec --no-startup-id rofi -show run
173+
174+
#volume key bindings
164175
bindsym XF86AudioMute exec --no-startup-id "amixer set Master toggle"
165176
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 0 -5%"
166177
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 0 +5%"
167178

168179
#startup
169180
exec --no-startup-id compton -CGbz -r 8 -o 0.2 -l -12 -t -12 --backend glx --vsync opengl --shadow-exclude 'argb && _NET_WM_OPAQUE_REGION@:c'
170-
exec --no-startup-id pulseaudio --start
171-
172-
#Wallpaper
173-
exec --no-startup-id feh --bg-fill ~/Pictures/Wallpapers/wallpaper.png
174-
175-
# bar
176-
bar {
177-
status_command i3blocks
178-
position top
179-
tray_output primary
180-
font pango: Roboto Mono Medium 11
181-
separator_symbol " "
182-
workspace_buttons yes
183-
strip_workspace_numbers yes
184-
binding_mode_indicator yes
185-
height 28
186-
187-
colors {
188-
background $background
189-
statusline $foreground
190-
separator $darkgrey
191-
192-
focused_workspace $background $background $foreground
193-
active_workspace $background $background $foreground
194-
inactive_workspace $background $background $darkgrey
195-
urgent_workspace $background $background $red
196-
}
197-
}
181+
exec --no-startup-id teamviewer
182+
183+
#wallpaper
184+
exec --no-startup-id hsetroot -fill ~/Pictures/Wallpapers/wallpaper.png
185+
186+
#lemonbar
187+
exec --no-startup-id ~/.config/lemonbar/bar

i3/scripts/iface

Lines changed: 0 additions & 61 deletions
This file was deleted.

i3/scripts/launcher

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)