diff --git a/dotfiles/.config/sxhkd/sxhkdrc b/dotfiles/.config/sxhkd/sxhkdrc
deleted file mode 100644
index dd6ac4db..00000000
--- a/dotfiles/.config/sxhkd/sxhkdrc
+++ /dev/null
@@ -1,113 +0,0 @@
-##################################################################################
-#
-# New Start: A modern Arch workflow built with an emphasis on functionality.
-# Copyright (C) 2017 Donovan Glover
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-##################################################################################
-
-# Open a new terminal window
-super + Return
- urxvtcd
-
-# Reload sxhkd (applies new keybindings, etc.)
-super + Escape
- pkill -USR1 -x sxhkd
-
-# Close the focused window
-super + q
- bspc node -c
-
-# Force close the focused window
-super + shift + q
- bspc node -k
-
-# Switch to the window in a certain direction
-super + {h,j,k,l}
- bspc node -f {west,south,north,east}
-
-# Swap a window with another in a certain direction
-super + shift + {h,j,k,l}
- bspc node -s {west,south,north,east}
-
-# Focus the window under the cursor
-super + @space
- bspc node -f pointed
-
-# Toggle the "sticky" state of a window
-# (i.e. the window follows you no matter
-# which workspace you choose)
-# Useful for videos, etc.
-super + x
- bspc node -g sticky
-
-# Move to the next desktop on the current monitor
-alt + Tab
- bspc desktop -f next.local
-
-# Move to the previous desktop on the current monitor
-alt + shift + Tab
- bspc desktop -f prev.local
-
-# Focus the last window you used
-# Useful to easily go back and forth
-# between windows
-super + g
- bspc node -f last
-
-# Focus the last desktop you used
-# Useful to easily go back and forth
-# between desktops
-alt + a
- bspc desktop -f last
-
-# Focus a certain desktop
-super + {1-9,0}
- bspc desktop -f '^{1-9,10}'
-
-# Send a window to a certain desktop
-super + shift + {1-9,0}
- bspc node -d '^{1-9,10}'
-
-# Change the window mode to pseudo_tiled
-# This floats the window in the area it occupies
-# and automatically centers it
-super + t
- bspc noded -t pseudo_tiled
-
-# Change the window mode to tiled (default)
-super + shift + t
- bspc node -t tiled
-
-# Change the window mode to floating
-# This is the equivalent of a floating window in i3
-super + space
- bspc node -t floating
-
-# Toggle between "tiled" and "fullscreen"
-# monocle mode
-super + f
- bspc desktop -l next
-
-super + p
- ~/.config/sxhkd/screenshot.sh
-
-super + o
- xdo hide -N "Polybar"
-
-super + O
- xdo show -N "Polybar"
-
-# vim:ft=sxhkdrc
diff --git a/dotfiles/.gnupg/gpg-agent.conf b/dotfiles/.gnupg/gpg-agent.conf
deleted file mode 100644
index c847e1fe..00000000
--- a/dotfiles/.gnupg/gpg-agent.conf
+++ /dev/null
@@ -1,22 +0,0 @@
-##################################################################################
-#
-# New Start: A modern Arch workflow built with an emphasis on functionality.
-# Copyright (C) 2017 Donovan Glover
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-##################################################################################
-
-# Use the terminal instead of a GTK window when prompting for passwords
-pinentry-program /usr/bin/pinentry-curses
diff --git a/gnupg/.gnupg/gpg-agent.conf b/gnupg/.gnupg/gpg-agent.conf
new file mode 100644
index 00000000..822246ea
--- /dev/null
+++ b/gnupg/.gnupg/gpg-agent.conf
@@ -0,0 +1,5 @@
+# New Start: A modern Arch workflow built with an emphasis on functionality.
+# Copyright (C) 2017 Donovan Glover
+
+# Use the terminal instead of a GTK window when prompting for passwords
+pinentry-program /usr/bin/pinentry-curses
diff --git a/dotfiles/.gnupg/gpg.conf b/gnupg/.gnupg/gpg.conf
similarity index 62%
rename from dotfiles/.gnupg/gpg.conf
rename to gnupg/.gnupg/gpg.conf
index 02b3ca41..8dc063d7 100644
--- a/dotfiles/.gnupg/gpg.conf
+++ b/gnupg/.gnupg/gpg.conf
@@ -1,22 +1,5 @@
-##################################################################################
-#
-# New Start: A modern Arch workflow built with an emphasis on functionality.
-# Copyright (C) 2017 Donovan Glover
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
-##################################################################################
+# New Start: A modern Arch workflow built with an emphasis on functionality.
+# Copyright (C) 2017 Donovan Glover
# 1. Use a keypool (specifically sks) instead of a regular keyserver
# 2. Use hkps to ensure a secure connection (hkp is to GPG as what http is to the web)
diff --git a/dotfiles/.gnupg/sks-cert.pem b/gnupg/.gnupg/sks-cert.pem
similarity index 100%
rename from dotfiles/.gnupg/sks-cert.pem
rename to gnupg/.gnupg/sks-cert.pem
diff --git a/dotfiles/.config/sxhkd/screenshot.sh b/sxhkd/.config/sxhkd/screenshot.sh
similarity index 54%
rename from dotfiles/.config/sxhkd/screenshot.sh
rename to sxhkd/.config/sxhkd/screenshot.sh
index 3b9e6c30..1dd48f74 100644
--- a/dotfiles/.config/sxhkd/screenshot.sh
+++ b/sxhkd/.config/sxhkd/screenshot.sh
@@ -1,3 +1,6 @@
+# New Start: A modern Arch workflow built with an emphasis on functionality.
+# Copyright (C) 2017 Donovan Glover
+
DATETIME=`date +%F_%H%M%S`
shotgun ~/Pictures/Screenshots/$DATETIME.png
feh ~/Pictures/Screenshots/$DATETIME.png --geometry 3200x1800
diff --git a/sxhkd/.config/sxhkd/sxhkdrc b/sxhkd/.config/sxhkd/sxhkdrc
new file mode 100644
index 00000000..afe41d9a
--- /dev/null
+++ b/sxhkd/.config/sxhkd/sxhkdrc
@@ -0,0 +1,153 @@
+# New Start: A modern Arch workflow built with an emphasis on functionality.
+# Copyright (C) 2017-2018 Donovan Glover
+
+# Open a new terminal window
+super + Return
+ urxvtcd
+
+# Reload sxhkd (applies new keybindings, etc.)
+super + Escape
+ pkill -USR1 -x sxhkd
+
+# Close the focused window
+super + q
+ bspc node -c
+
+# Force close the focused window
+super + shift + q
+ bspc node -k
+
+# Switch to the window in a certain direction
+super + {h,j,k,l}
+ bspc node -f {west,south,north,east}
+
+# Swap a window with another in a certain direction
+super + shift + {h,j,k,l}
+ bspc node -s {west,south,north,east}
+
+# Switch between windows in fullscreen (monocle mode)
+super + {n,m}
+ bspc node -f {next,prev}
+
+# Focus the window under the cursor
+super + @space
+ bspc node -f pointed
+
+# Toggle the "sticky" state of a window
+# (i.e. the window follows you no matter
+# which workspace you choose)
+# Useful for videos, etc.
+super + x
+ bspc node -g sticky
+
+# Move to the next desktop on the current monitor
+alt + Tab
+ bspc desktop -f next.local
+
+# Move to the previous desktop on the current monitor
+alt + shift + Tab
+ bspc desktop -f prev.local
+
+# Focus the last window you used
+# Useful to easily go back and forth
+# between windows
+super + c
+ bspc node -f last
+
+# Focus the last desktop you used
+# Useful to easily go back and forth
+# between desktops
+alt + a
+ bspc desktop -f last
+
+# Focus a certain desktop
+super + {1-9,0}
+ bspc desktop -f '^{1-9,10}'
+
+# Send a window to a certain desktop
+super + shift + {1-9,0}
+ bspc node -d '^{1-9,10}'
+
+# Toggle between pseudo_tiled and tiled
+# This floats the window in the area it occupies
+# and automatically centers it
+super + r
+ if [ -z "$(bspc query -N -n focused.pseudo_tiled)" ]; then \
+ bspc node focused -t pseudo_tiled; \
+ else \
+ bspc node focused -t tiled; \
+ fi
+
+# Toggle between tiled and "true" fullscreen
+super + t
+ bspc node focused -t fullscreen
+
+super + shift + t
+ bspc node focused -t tiled
+
+# Toggle between floating and tiled (default)
+# This is the equivalent of a floating window in i3
+super + v
+ if [ -z "$(bspc query -N -n focused.floating)" ]; then \
+ bspc node focused -t floating; \
+ else \
+ bspc node focused -t tiled; \
+ fi
+
+# Same as above
+super + space
+ if [ -z "$(bspc query -N -n focused.floating)" ]; then \
+ bspc node focused -t floating; \
+ else \
+ bspc node focused -t tiled; \
+ fi
+
+# Toggle between "tiled" and "fullscreen" monocle mode
+super + f
+ bspc desktop -l next
+
+super + p
+ ~/.config/sxhkd/screenshot.sh
+
+super + o
+ xdo hide -N "Polybar" && bspc config top_padding 0
+
+# Note that polybar automatically handles top_padding *but*
+# this does not apply to all desktops, so we have to specify it manually here
+# top_padding depends on the height you set in polybar/config
+super + O
+ xdo show -N "Polybar" && bspc config top_padding 80
+
+# =====================
+# ===== Preselect =====
+# =====================
+
+# Preselect where windows go
+super + ctrl + {h,j,k,l}
+ bspc node -p {west,south,north,east}
+
+# Preselect the ratio of windows
+super + ctrl + {1-9}
+ bspc node -o 0.{1-9}
+
+# Cancel the preselection for the focused node
+super + ctrl + space
+ bspc node -p cancel
+
+# ======================
+# ======= Resize =======
+# ======================
+
+# Expand a window (move its side outward)
+super + alt + {h,j,k,l}
+ bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
+
+# Contract a window (move its side inward)
+super + alt + shift + {h,j,k,l}
+ bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
+
+# Move a floating window
+super + {Left,Down,Up,Right}
+ bspc node -v {-20 0,0 20,0 -20,20 0}
+
+# vim:ft=sxhkdrc
diff --git a/dotfiles/.xinitrc b/xinit/.xinitrc
similarity index 100%
rename from dotfiles/.xinitrc
rename to xinit/.xinitrc