summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xbspwm/.config/bspwm/bspwmrc19
-rw-r--r--sxhkd/.config/sxhkd/sxhkdrc74
-rwxr-xr-xsxhkd/.local/bin/toggle-presentation-mode3
-rw-r--r--x/.Xresources51
-rw-r--r--x/.Xresources.d/colors3
-rw-r--r--x/.Xresources.d/emacs15
-rw-r--r--x/.Xresources.d/fonts7
-rw-r--r--x/.Xresources.d/gruvbox-dark.xresources36
-rw-r--r--x/.Xresources.d/gruvbox-light.xresources36
-rw-r--r--x/.Xresources.d/gruvbox-urxvt256.xresources38
-rw-r--r--x/.Xresources.d/rxvt-unicode85
-rw-r--r--[-rwxr-xr-x]x/.xprofile87
-rw-r--r--xdg/.config/user-dirs.dirs8
-rw-r--r--zsh/.zimrc94
-rw-r--r--zsh/.zlogin59
-rw-r--r--zsh/.zprofile8
-rw-r--r--zsh/.zshenv4
-rw-r--r--zsh/.zshrc26
18 files changed, 476 insertions, 177 deletions
diff --git a/bspwm/.config/bspwm/bspwmrc b/bspwm/.config/bspwm/bspwmrc
index c7ffee5..a992a82 100755
--- a/bspwm/.config/bspwm/bspwmrc
+++ b/bspwm/.config/bspwm/bspwmrc
@@ -1,22 +1,24 @@
#! /bin/sh
sxhkd &
-# sleep .25
xfce4-panel -d &
connman-gtk &
pnmixer &
sh ~/.fehbg &
+compton &
-bspc monitor -d I II III IV V VI VII VIII IX X
+bspc monitor eDP-1 -d I II III IV V
+bspc monitor HDMI-1 -d VI VII VIII IX X
bspc config border_width 2
-bspc config window_gap 10
-#bspc config bottom_padding 32
+bspc config window_gap 12
-# bspc config split_ratio 0.52
+bspc config top_padding 28
+
+bspc config split_ratio 0.52
bspc config borderless_monocle true
-bspc config click_to_focus true
bspc config gapless_monocle true
+bspc config click_to_focus true
bspc rule -a Firefox desktop='^1' follow=on
bspc rule -a Emacs desktop='^2' state=tiled follow=on
@@ -27,3 +29,8 @@ bspc rule -a Connman-gtk state=floating
bspc rule -a Xfce4-panel state=floating
bspc rule -a TelegramDesktop state=floating
bspc rule -a Ec state=floating
+bspc rule -a Pavucontrol state=floating
+bspc rule -a Eog state=floating
+bspc rule -a Seahorse state=floating
+bspc rule -a mpv state=floating
+bspc rule -a Evince state=floating
diff --git a/sxhkd/.config/sxhkd/sxhkdrc b/sxhkd/.config/sxhkd/sxhkdrc
index 07ab0e0..78dd17d 100644
--- a/sxhkd/.config/sxhkd/sxhkdrc
+++ b/sxhkd/.config/sxhkd/sxhkdrc
@@ -3,73 +3,65 @@
#
# terminal emulator
-super + Return
- urxvt
-super + shift + Return
- urxvt -name tiled
+super + {_,shift} + Return
+ urxvt{_, -name tiled}
# program launcher
super + space
- rofi -show run -font "Inconsolata 13"
+ rofi -show run
-# rofi-pass
+# window finder
+super + backslash
+ rofi -show window
+
+# password manager
super + shift + space
rofi-pass
-# teiler
-super + shift + s
- teiler
-
-super + z ; t
- urxvt
-
-super + z ; f
- firefox-nightly
-
# firefox
#super + r
# firefox
# chromium
#super + c
-# chromium
+# chromium -incognito
# emacs
super + e
emacs
-# emacs -Q -l src/elisp/oremacs/init.el
-
-# stalonetray
-#super + minus
-# toggle_tray&
-# volume up
-XF86AudioRaiseVolume
- pamixer --allow-boost --increase 5
+# make sxhkd reload its configuration files:
+super + Escape
+ pkill -USR1 -x sxhkd
-# volume down
-XF86AudioLowerVolume
- pamixer --allow-boost --decrease 5
+# volume {up,down}
+XF86Audio{Raise,Lower}Volume
+ pamixer --allow-boost --{in,de}crease 5
# mute
XF86AudioMute
pamixer --toggle-mute
+# Xfce log out
+super + shift + q
+ xfce4-session-logout
+
+# Toggle keyboard layout
+XF86LaunchA
+ toggle-layout
+
+# Toggle Xfce presentation mode
+XF86LaunchB
+ toggle-presentation-mode
+
# monitor brightness
#XF86MonBrightness{Up,Down}
-# xbacklight -time 0 {+5,-5}
+# light -s mba6x_backlight -{A,U} 10
# keyboard brightness
#XF86KbdBrightness{Up,Down}
# kbdlight {up,down}
-XF86LaunchA
- /home/amin/.local/bin/toggle-layout
-
-# make sxhkd reload its configuration files:
-super + Escape
- pkill -USR1 -x sxhkd
-
#
# bspwm hotkeys
#
@@ -118,13 +110,13 @@ super + {_,shift + }{h,j,k,l}
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
-# focus the next/previous node
-super + {_,shift + }slash
- bspc node -f {next,prev}
+# focus the next/previous node in the current desktop
+super + {_,shift + }c
+ bspc node -f {next,prev}.local
-# focus the next/previous desktop
+# focus the next/previous desktop in the current monitor
super + bracket{left,right}
- bspc desktop -f {prev,next}
+ bspc desktop -f {prev,next}.local
# send to next/prev desktop
super + shift + bracket{left,right}
diff --git a/sxhkd/.local/bin/toggle-presentation-mode b/sxhkd/.local/bin/toggle-presentation-mode
new file mode 100755
index 0000000..00279bd
--- /dev/null
+++ b/sxhkd/.local/bin/toggle-presentation-mode
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/presentation-mode -T
diff --git a/x/.Xresources b/x/.Xresources
index 3dd91e4..5d23a38 100644
--- a/x/.Xresources
+++ b/x/.Xresources
@@ -1,47 +1,4 @@
-URxvt.scrollBar: false
-!URxvt.font: -*-termsyn-medium-*-*-*-14-*-*-*-*-*-*-*
-!URxvt.boldFont: -*-termsyn-bold-*-*-*-14-*-*-*-*-*-*-*
-
-!! Sauce Code Pro
-URxvt.font: xft:Source Code Pro-11:hinting=True;antialias:True,xft:Meslo LG M for Powerline-10:medium;antialias=False,xft:DejaVu Sans Mono for Powerline-10:medium;antialias=True,xft:Unifont-10:medium;antialias:True
-URxvt.boldFont: xft:Source Code Pro-11:bold;hinting=True;antialias:True,xft:Meslo LG M for Powerline-10:bold;antialias=False,xft:DejaVu Sans Mono for Powerline-10:bold;antialias=True,xft:Unifont-10:bold;antialias:True
-URxvt.letterSpace: -1
-!-*-{ Xft settings
-Xft*dpi: 96
-Xft*antialias: True
-Xft*hinting: Full
-!-*-}
-
-URxvt.depth: 0
-URxvt.loginShell: true
-URxvt.saveLines: 1000
-URxvt.internalBorder: 3
-URxvt.lineSpace: 0
-URxvt.scrollStyle: rxvt
-
-URxvt.perl-ext-common: default,clipboard,url-select,font-size
-URxvt.url-select.launcher: firefox
-URxvt.url-select.underline: true
-URxvt.keysym.M-u: perl:url-select:select_next
-URxvt.url-launcher: /usr/bin/firefox
-URxvt.matcher.button: 1
-URxvt.iso14755 : false
-URxvt.keysym.M-c: perl:clipboard:copy
-URxvt.keysym.M-v: perl:clipboard:paste
-URxvt.keysym.C-A-V: perl:clipboard:paste_escaped
-
-URxvt.iconFile: /usr/share/icons/Moka/96x96/apps/utilities-terminal.png
-!URxvt.iconFile: /home/amin/.icons/Moka/96x96/apps/utilities-terminal.png
-
-URxvt.keysym.C-Up: perl:font-size:increase
-URxvt.keysym.C-Down: perl:font-size:decrease
-!URxvt.keysym.C-S-Up: perl:font-size:incglobal
-!URxvt.keysym.C-S-Down: perl:font-size:decglobal
-!URxvt.iso14755: false
-!URxvt.iso14755_52: false
-
-! Xcursor --------------------------------------------------------------------
-
-!Xcursor.theme: Vanilla-DMZ-AA
-!Xcursor.size: 22
-
+#include ".Xresources.d/fonts"
+#include ".Xresources.d/colors"
+#include ".Xresources.d/emacs"
+#include ".Xresources.d/rxvt-unicode"
diff --git a/x/.Xresources.d/colors b/x/.Xresources.d/colors
new file mode 100644
index 0000000..9b1136e
--- /dev/null
+++ b/x/.Xresources.d/colors
@@ -0,0 +1,3 @@
+#include "gruvbox-light.xresources"
+! #include "gruvbox-dark.xresources"
+#include "gruvbox-urxvt256.xresources"
diff --git a/x/.Xresources.d/emacs b/x/.Xresources.d/emacs
new file mode 100644
index 0000000..8269961
--- /dev/null
+++ b/x/.Xresources.d/emacs
@@ -0,0 +1,15 @@
+! Emacs stuff
+Emacs.menuBar: off
+Emacs.toolBar: off
+Emacs.verticalScrollBars: off
+Emacs.cursorBlink: off
+Emacs.FontBackend: xft,x
+Emacs.font: Ubuntu Mono-10.5
+! Emacs.font: Ubuntu Mono-12
+! Emacs.font: Iosevka-11
+
+! Emacs.font: Fira Mono:size=15
+! Emacs.font: DejaVu Sans Mono:size=15
+! Emacs.font: Inconsolata:size=17
+! Emacs.font: Source Code Pro-10
+! Emacs.font: Iosevka:size=16
diff --git a/x/.Xresources.d/fonts b/x/.Xresources.d/fonts
new file mode 100644
index 0000000..05c96ae
--- /dev/null
+++ b/x/.Xresources.d/fonts
@@ -0,0 +1,7 @@
+Xft.lcdfilter: lcddefault
+Xft.antialias: true
+Xft.autohint: 0
+Xft.hinting: true
+Xft.hintstyle: hintslight
+Xft.rgba: rgb
+Xft.dpi: 96 \ No newline at end of file
diff --git a/x/.Xresources.d/gruvbox-dark.xresources b/x/.Xresources.d/gruvbox-dark.xresources
new file mode 100644
index 0000000..5beeba2
--- /dev/null
+++ b/x/.Xresources.d/gruvbox-dark.xresources
@@ -0,0 +1,36 @@
+! -----------------------------------------------------------------------------
+! File: gruvbox-dark.xresources
+! Description: Retro groove colorscheme generalized
+! Author: morhetz <morhetz@gmail.com>
+! Source: https://github.com/morhetz/gruvbox-generalized
+! Last Modified: 6 Sep 2014
+! -----------------------------------------------------------------------------
+
+! hard contrast: *background: #1d2021
+*background: #282828
+! soft contrast: *background: #32302f
+*foreground: #ebdbb2
+! Black + DarkGrey
+*color0: #282828
+*color8: #928374
+! DarkRed + Red
+*color1: #cc241d
+*color9: #fb4934
+! DarkGreen + Green
+*color2: #98971a
+*color10: #b8bb26
+! DarkYellow + Yellow
+*color3: #d79921
+*color11: #fabd2f
+! DarkBlue + Blue
+*color4: #458588
+*color12: #83a598
+! DarkMagenta + Magenta
+*color5: #b16286
+*color13: #d3869b
+! DarkCyan + Cyan
+*color6: #689d6a
+*color14: #8ec07c
+! LightGrey + White
+*color7: #a89984
+*color15: #ebdbb2
diff --git a/x/.Xresources.d/gruvbox-light.xresources b/x/.Xresources.d/gruvbox-light.xresources
new file mode 100644
index 0000000..738848d
--- /dev/null
+++ b/x/.Xresources.d/gruvbox-light.xresources
@@ -0,0 +1,36 @@
+! -----------------------------------------------------------------------------
+! File: gruvbox-light.xresources
+! Description: Retro groove colorscheme generalized
+! Author: morhetz <morhetz@gmail.com>
+! Source: https://github.com/morhetz/gruvbox-generalized
+! Last Modified: 6 Sep 2014
+! -----------------------------------------------------------------------------
+
+! hard contrast: *background: #f9f5d7
+*background: #fbf1c7
+! soft contrast: *background: #f2e5bc
+*foreground: #3c3836
+! Black + DarkGrey
+*color0: #fdf4c1
+*color8: #928374
+! DarkRed + Red
+*color1: #cc241d
+*color9: #9d0006
+! DarkGreen + Green
+*color2: #98971a
+*color10: #79740e
+! DarkYellow + Yellow
+*color3: #d79921
+*color11: #b57614
+! DarkBlue + Blue
+*color4: #458588
+*color12: #076678
+! DarkMagenta + Magenta
+*color5: #b16286
+*color13: #8f3f71
+! DarkCyan + Cyan
+*color6: #689d6a
+*color14: #427b58
+! LightGrey + White
+*color7: #7c6f64
+*color15: #3c3836
diff --git a/x/.Xresources.d/gruvbox-urxvt256.xresources b/x/.Xresources.d/gruvbox-urxvt256.xresources
new file mode 100644
index 0000000..52f58d9
--- /dev/null
+++ b/x/.Xresources.d/gruvbox-urxvt256.xresources
@@ -0,0 +1,38 @@
+! -----------------------------------------------------------------------------
+! File: gruvbox-urxvt256.xresources
+! Description: Retro groove colorscheme generalized
+! Author: morhetz <morhetz@gmail.com>
+! Source: https://github.com/morhetz/gruvbox-generalized
+! Last Modified: 13 Dec 2013
+! -----------------------------------------------------------------------------
+
+URxvt.color24: #076678
+URxvt.color66: #427b58
+URxvt.color88: #9d0006
+URxvt.color96: #8f3f71
+URxvt.color100: #79740e
+URxvt.color108: #8ec07c
+URxvt.color109: #83a598
+URxvt.color130: #af3a03
+URxvt.color136: #b57614
+URxvt.color142: #b8bb26
+URxvt.color167: #fb4934
+URxvt.color175: #d3869b
+URxvt.color208: #fe8019
+URxvt.color214: #fabd2f
+URxvt.color223: #ebdbb2
+URxvt.color228: #f2e5bc
+URxvt.color229: #fbf1c7
+URxvt.color230: #f9f5d7
+URxvt.color234: #1d2021
+URxvt.color235: #282828
+URxvt.color236: #32302f
+URxvt.color237: #3c3836
+URxvt.color239: #504945
+URxvt.color241: #665c54
+URxvt.color243: #7c6f64
+URxvt.color244: #928374
+URxvt.color245: #928374
+URxvt.color246: #a89984
+URxvt.color248: #bdae93
+URxvt.color250: #d5c4a1
diff --git a/x/.Xresources.d/rxvt-unicode b/x/.Xresources.d/rxvt-unicode
new file mode 100644
index 0000000..eacb397
--- /dev/null
+++ b/x/.Xresources.d/rxvt-unicode
@@ -0,0 +1,85 @@
+URxvt.xftAntialias: true
+URxvt.letterSpace: 0
+
+! Fira Mono
+! URxvt.font: xft:Fira Mono:pixelsize=15:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+! URxvt.boldFont: xft:Fira Mono:pixelsize=15:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+! URxvt.italicFont: xft:Fira Mono:pixelsize=15:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+! URxvt.bolditalicFont: xft:Fira Mono:pixelsize=15:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+! Inconsolata
+! URxvt.font: xft:inconsolata:pixelsize=14:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=14:antialias=true:hinting=true
+! URxvt.boldFont: xft:inconsolata:pixelsize=14:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=14:antialias=true:hinting=true:bold
+! URxvt.italicFont: xft:inconsolata:pixelsize=14:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=14:antialias=true:hinting=true:italic
+! URxvt.bolditalicFont: xft:inconsolata:pixelsize=14:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=14:antialias=true:hinting=true:bolditalic
+
+! Ubuntu Mono
+! URxvt.font: xft:ubuntu mono:pixelsize=17:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+! URxvt.boldFont: xft:ubuntu mono:pixelsize=17:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+! URxvt.italicFont: xft:ubuntu mono:pixelsize=17:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+! URxvt.bolditalicFont: xft:ubuntu mono:pixelsize=17:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+! Ubuntu Mono
+URxvt.font: xft:ubuntu mono-10.5:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+URxvt.boldFont: xft:ubuntu mono-10.5:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+URxvt.italicFont: xft:ubuntu mono-10.5:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+URxvt.bolditalicFont: xft:ubuntu mono-10.5:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+! Iosevka
+!URxvt.font: xft:iosevka-11:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+!URxvt.boldFont: xft:iosevka-11:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+!URxvt.italicFont: xft:iosevka-11:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+!URxvt.bolditalicFont: xft:iosevka-11:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+!URxvt.font: xft:iosevka-12:pixelsize=14:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+!URxvt.boldFont: xft:iosevka-12:pixelsize=14:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+!URxvt.italicFont: xft:iosevka-12:pixelsize=14:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+!URxvt.bolditalicFont: xft:iosevka-12:pixelsize=14:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+! DejaVu Sans Mono
+! URxvt.font: xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+! URxvt.boldFont: xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+! URxvt.italicFont: xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+! URxvt.bolditalicFont: xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+! Source Code Pro
+! URxvt.font: xft:source code pro:pixelsize=15:antialias=true:hinting=true, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true
+! URxvt.boldFont: xft:source code pro:pixelsize=15:antialias=true:hinting=true:bold, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bold
+! URxvt.italicFont: xft:source code pro:pixelsize=15:antialias=true:hinting=true:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:italic
+! URxvt.bolditalicFont: xft:source code pro:pixelsize=15:antialias=true:hinting=true:bold:italic, xft:dejavu sans mono:pixelsize=15:antialias=true:hinting=true:bolditalic
+
+URxvt.depth: 0
+URxvt.loginShell: true
+URxvt.saveLines: 100000
+URxvt.internalBorder: 3
+URxvt.lineSpace: 0
+URxvt.scrollBar: false
+URxvt.scrollStyle: rxvt
+URxvt*scrollTtyOutput: false
+URxvt*scrollWithBuffer: true
+URxvt*scrollTtyKeypress: true
+URxvt.keysym.Shift-Up: command:\033]720;1\007
+URxvt.keysym.Shift-Down: command:\033]721;1\007
+
+URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select,font-size
+URxvt.url-select.launcher: firefox
+URxvt.url-select.underline: true
+URxvt.keysym.M-u: perl:url-select:select_next
+URxvt.keysym.M-Escape: perl:keyboard-select:activate
+URxvt.keysym.M-s: perl:keyboard-select:search
+URxvt.url-launcher: /usr/bin/firefox
+URxvt.matcher.button: 1
+URxvt.iso14755: false
+URxvt.iso14755_53: false
+URxvt.keysym.M-c: perl:clipboard:copy
+URxvt.keysym.M-v: perl:clipboard:paste
+URxvt.keysym.C-A-V: perl:clipboard:paste_escaped
+URxvt.keysym.C-Up: font-size:increase
+URxvt.keysym.C-Down: font-size:decrease
+URxvt.keysym.C-S-Up: font-size:incglobal
+URxvt.keysym.C-S-Down: font-size:decglobal
+URxvt.keysym.C-equal: font-size:reset
+URxvt.keysym.C-question: font-size:show
+
+! URxvt.iconFile: /usr/share/icons/Moka/96x96/apps/utilities-terminal.png
+URxvt.iconFile: /usr/share/icons/elementary-xfce/apps/128/utilities-terminal.svg
diff --git a/x/.xprofile b/x/.xprofile
index 83428bd..3117fc7 100755..100644
--- a/x/.xprofile
+++ b/x/.xprofile
@@ -1,87 +1,8 @@
-#!/bin/sh
-#
-# ~/.xinitrc
-#
-# Executed by startx (run your window manager from here)
+setxkbmap -option ctrl:nocaps
+#setxkbmap -option compose:ralt
-if [ -d /etc/X11/xinit/xinitrc.d ]; then
- for f in /etc/X11/xinit/xinitrc.d/*; do
- [ -x "$f" ] && . "$f"
- done
- unset f
-fi
-
-# workaround for some java apps, when running a non-reparenting window manager
+source ~/.zprofile
export _JAVA_AWT_WM_NONREPARENTING=1
+export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true'
-xrdb -merge ~/.Xresources
-# xrdb -merge ~/.base16-tomorrow.dark.256.xresources
-xrdb -merge ~/.gotham.xresources
-# xrdb -merge ~/.hybrid.xresources
-# xrdb -merge ~/.dawn.xresources
-# xrdb -merge ~/.zenburn.xresources
-# xrdb -merge ~/.solarized-dark.xresources
-
-# set the cursor icon
-# xsetroot -cursor_name left_ptr &
-
-# set the wallpaper
-# sh ~/.fehbg &
-
-# font stuff
-# xset +fp /usr/share/fonts/local
-# xset +fp ~/.fonts
-# xset fp rehash
-# xset b off
-
-# the compositor
-#compton &
-
-# xbacklight -set 50
-
-# synaptics (touchpad) configs
-#synclient TapButton2=3
-#synclient TapButton3=2
-synclient TapButton1=1
-synclient TapButton2=0
-synclient TapButton3=0
-synclient HorizTwoFingerScroll=1
-synclient VertScrollDelta=-237
-synclient HorizScrollDelta=-237
-
-# swap caps lock and esc
-setxkbmap -option caps:swapescape
-
-# MPD daemon start (if no other instance exists)
-[ -z $(pidof mpd) ] && mpd &
-
-# screen powersave
-# xset +dpms
-# xset dpms 0 0 300
-
-# lock the screen using lightdm after 5 minutes
-# xautolock -time 5 -locker "slimlock" &
-
-# adjust the keypress delays
-xset r rate 200 20
-
-# exec gnome-session
-# exec startkde
-# exec startxfce4
-# ...or the Window Manager of your choice
-# source ~/.profile
-xfsettingsd &
-xfdesktop --disable-wm-check &
-xfce4-panel --disable-wm-check &
bspwm &
-sxhkd &
-#emacs --daemon &
-sleep 2 && pnmixer &
-# panel &
-
-# DEFAULTSESSION=bspwm
-# case "$1" in
-# i3) exec i3;;
-# bspwm) exec bspwm;;
-# *) exec $DEFAULTSESSION ;;
-# esac
diff --git a/xdg/.config/user-dirs.dirs b/xdg/.config/user-dirs.dirs
new file mode 100644
index 0000000..82d4b02
--- /dev/null
+++ b/xdg/.config/user-dirs.dirs
@@ -0,0 +1,8 @@
+XDG_DESKTOP_DIR="$HOME/Desktop"
+XDG_DOCUMENTS_DIR="$HOME/usr/docs"
+XDG_DOWNLOAD_DIR="$HOME/usr/dls"
+XDG_MUSIC_DIR="$HOME/usr/music"
+XDG_PICTURES_DIR="$HOME/usr/img"
+XDG_PUBLICSHARE_DIR="$HOME/usr/Public"
+XDG_TEMPLATES_DIR="$HOME/usr/Templates"
+XDG_VIDEOS_DIR="$HOME/usr/vids"
diff --git a/zsh/.zimrc b/zsh/.zimrc
new file mode 100644
index 0000000..96eab18
--- /dev/null
+++ b/zsh/.zimrc
@@ -0,0 +1,94 @@
+
+
+#################
+# CORE SETTINGS #
+#################
+
+#
+# Zim settings
+#
+
+# Select what modules you would like enabled.
+# The second line of modules may depend on options set by modules in the first line.
+# These dependencies are noted on the respective module's README.md.
+zmodules=(directory environment git history input ssh utility meta custom \
+ prompt syntax-highlighting history-substring-search completion)
+
+
+###################
+# MODULE SETTINGS #
+###################
+
+#
+# Prompt
+#
+
+# Set your desired prompt here
+zprompt_theme='pure'
+PURE_PROMPT_SYMBOL=λ
+
+#
+# Completion
+#
+
+# set an optional host-specific filename for the completion cache file
+# if none is provided, the default '.zcompdump' is used.
+#zcompdump_file=".zcompdump-${HOST}-${ZSH_VERSION}"
+
+#
+# Utility
+#
+
+# Uncomment to enable command correction prompts
+# See: http://zsh.sourceforge.net/Doc/Release/Options.html#Input_002fOutput
+setopt CORRECT
+
+#
+# Environment
+#
+
+# Set the string below to the desired terminal title format string.
+# The terminal title is redrawn upon directory change, however, variables like
+# ${PWD} are only evaluated once. Use prompt expansion strings for dynamic data:
+# http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes
+# The example below uses the following format: 'username@host:/current/directory'
+ztermtitle='%n@%m:%~'
+
+#
+# Input
+#
+
+# Uncomment to enable double-dot expansion.
+# This appends '../' to your input for each '.' you type after an initial '..'
+#zdouble_dot_expand='true'
+
+#
+# Syntax-Highlighting
+#
+
+# This determines what highlighters will be used with the syntax-highlighting module.
+# Documentation of the highlighters can be found here:
+# https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
+# For (u)rxvt, termite and gnome-terminal users,
+# removing the 'cursor' highlighter will fix the disappearing cursor problem
+#zhighlighters=(main brackets cursor)
+zhighlighters=(main brackets pattern)
+
+
+#
+# SSH
+#
+
+# Load these ssh identities with the ssh module
+zssh_ids=(id_rsa plasma_id_rsa id_ed25519 id_rsa_aur)
+
+
+#
+# Pacman
+#
+
+# Set (optional) pacman front-end.
+zpacman_frontend='pacaur'
+
+# Load any helper scripts as defined here
+#zpacman_helper=(aur)
diff --git a/zsh/.zlogin b/zsh/.zlogin
new file mode 100644
index 0000000..d8b5b0a
--- /dev/null
+++ b/zsh/.zlogin
@@ -0,0 +1,59 @@
+
+
+#
+# startup file read in interactive login shells
+#
+# The following code helps us by optimizing the existing framework.
+# This includes zcompile, zcompdump, etc.
+#
+
+(
+ # Function to determine the need of a zcompile. If the .zwc file
+ # does not exist, or the base file is newer, we need to compile.
+ # These jobs are asynchronous, and will not impact the interactive shell
+ zcompare() {
+ if [[ -s ${1} && ( ! -s ${1}.zwc || ${1} -nt ${1}.zwc) ]]; then
+ zcompile ${1}
+ fi
+ }
+
+ zim_mods=${ZDOTDIR:-${HOME}}/.zim/modules
+ setopt EXTENDED_GLOB
+
+ # zcompile the completion cache; siginificant speedup.
+ for file in ${ZDOTDIR:-${HOME}}/.zcomp^(*.zwc)(.); do
+ zcompare ${file}
+ done
+
+ # zcompile .zshrc
+ zcompare ${ZDOTDIR:-${HOME}}/.zshrc
+
+ # zcompile some light module init scripts
+ zcompare ${zim_mods}/git/init.zsh
+ zcompare ${zim_mods}/utility/init.zsh
+ zcompare ${zim_mods}/pacman/init.zsh
+ zcompare ${zim_mods}/spectrum/init.zsh
+ zcompare ${zim_mods}/completion/init.zsh
+ zcompare ${zim_mods}/fasd/init.zsh
+
+ # zcompile all .zsh files in the custom module
+ for file in ${zim_mods}/custom/**/^(README.md|*.zwc)(.); do
+ zcompare ${file}
+ done
+
+ # zcompile all autoloaded functions
+ for file in ${zim_mods}/**/functions/^(*.zwc)(.); do
+ zcompare ${file}
+ done
+
+ # syntax-highlighting
+ for file in ${zim_mods}/syntax-highlighting/external/highlighters/**/*.zsh; do
+ zcompare ${file}
+ done
+ zcompare ${zim_mods}/syntax-highlighting/external/zsh-syntax-highlighting.zsh
+
+ # zsh-histery-substring-search
+ zcompare ${zim_mods}/history-substring-search/external/zsh-history-substring-search.zsh
+
+
+) &! \ No newline at end of file
diff --git a/zsh/.zprofile b/zsh/.zprofile
new file mode 100644
index 0000000..656d599
--- /dev/null
+++ b/zsh/.zprofile
@@ -0,0 +1,8 @@
+export PATH=$HOME/.local/bin:$HOME/.cabal/bin:$HOME/.cargo/bin:$PATH
+export XDG_CONFIG_HOME=$HOME/.config
+export XDG_DATA_HOME=$HOME/.local/share
+export XDG_DATA_DIRS=/usr/local/share:/usr/share
+export MAILDIR="$HOME/mail"
+export CVS_RSH=ssh
+export MATHMODELS=$HOME/src/eiffel/mathmodels
+export RUST_SRC_PATH=~/.multirust/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src
diff --git a/zsh/.zshenv b/zsh/.zshenv
new file mode 100644
index 0000000..c23f284
--- /dev/null
+++ b/zsh/.zshenv
@@ -0,0 +1,4 @@
+# Ensure that a non-login, non-interactive shell has a defined environment.
+if [[ "$SHLVL" -eq 1 && ! -o LOGIN && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
+ source "${ZDOTDIR:-$HOME}/.zprofile"
+fi
diff --git a/zsh/.zshrc b/zsh/.zshrc
new file mode 100644
index 0000000..635bffb
--- /dev/null
+++ b/zsh/.zshrc
@@ -0,0 +1,26 @@
+# Bash-like navigation
+#export WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
+export WORDCHARS='*?[]~=&;!#$%^(){}<>'
+
+fpath+=~/.zfunc
+
+# rehash if last command was pacaur or pacman
+# (so that zsh picks up changes in $PATH immediately)
+TRAPUSR1() { rehash}; precmd() { [[ $history[$[ HISTCMD -1 ]] == *(pacaur|pacman)* ]] && killall -USR1 zsh }
+
+
+
+#
+# User configuration sourced by interactive shells
+#
+
+# Source zim
+if [[ -s ${ZDOTDIR:-${HOME}}/.zim/init.zsh ]]; then
+ source ${ZDOTDIR:-${HOME}}/.zim/init.zsh
+fi
+
+
+ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red')
+#ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=red,bold'
+
+source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh