Initial dotfiles

This commit is contained in:
Philip Henning 2017-12-25 17:35:45 +01:00
parent 492e07f40a
commit 8ca52fb1e6
26 changed files with 1255 additions and 0 deletions

1
.env.public Normal file
View file

@ -0,0 +1 @@
dotdrop_warning="This file is managed by dotdrop, only edit it in your dotdrop files!"

67
config.yaml Normal file
View file

@ -0,0 +1,67 @@
actions:
oh-my-zsh: if [ ! -d ~/.oh-my-zsh ]; then sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" && if [ -f ~/.zshrc.pre-oh-my-zsh ]; then rm ~/.zshrc && mv ~/.zshrc.pre-oh-my-zsh ~/.zshrc; fi; fi
powerlevel9k-theme: if [ ! -d ~/.oh-my-zsh/custom/themes ]; then mkdir -p ~/.oh-my-zsh/custom/themes; fi && if [ -d ~/.oh-my-zsh/custom/themes/powerlevel9k ];then git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k; fi
config:
backup: true
create: true
dotpath: dotfiles
dotfiles:
d_bspwm:
dst: ~/.config/bspwm
src: config/bspwm
d_fonts:
dst: ~/.local/share/fonts
src: local/share/fonts
d_polybar:
dst: ~/.config/polybar
src: config/polybar
d_sxhkd:
dst: ~/.config/sxhkd
src: config/sxhkd
d_vim:
dst: ~/.vim
src: vim
f_fehbg:
dst: ~/.fehbg
src: fehbg
f_profile:
dst: ~/.profile
src: profile
f_vimrc:
dst: ~/.vimrc
src: vimrc
f_xdefaults:
dst: ~/.Xdefaults
src: Xdefaults
f_xinitrc:
dst: ~/.xinitrc
src: xinitrc
f_xsession:
dst: ~/.xsession
src: xsession
f_zshrc:
dst: ~/.zshrc
src: zshrc
actions:
- oh-my-zsh
f_powerlevel9krc:
dst: ~/.powerlevel9krc
src: powerlevel9krc
actions:
- powerlevel9k-theme
profiles:
yoetunheimr:
dotfiles:
- f_xdefaults
- d_bspwm
- d_polybar
- d_sxhkd
- f_fehbg
- d_fonts
- f_profile
- d_vim
- f_vimrc
- f_xinitrc
- f_xsession
- f_zshrc
- f_powerlevel9krc

31
dotdrop.sh Executable file
View file

@ -0,0 +1,31 @@
#!/usr/bin/env bash
# author: deadc0de6 (https://github.com/deadc0de6)
# Copyright (c) 2017, deadc0de6
# check for readlink/realpath presence
# https://github.com/deadc0de6/dotdrop/issues/6
rl="readlink -f"
if ! ${rl} "${0}" >/dev/null 2>&1; then
rl="realpath"
if ! hash ${rl}; then
echo "\"${rl}\" not found !" && exit 1
fi
fi
# setup variables
args=("$@")
cur=$(dirname "$(${rl} "${0}")")
opwd=$(pwd)
cfg="${cur}/config.yaml"
sub="dotdrop"
# pivot
cd "${cur}" || { echo "Folder \"${cur}\" doesn't exist, aborting." && exit; }
# init/update the submodule
git submodule update --init --recursive
# launch dotdrop
PYTHONPATH=dotdrop python3 -m dotdrop.dotdrop --cfg="${cfg}" "${args[@]}"
# pivot back
cd "${opwd}" || { echo "Folder \"${opwd}\" doesn't exist, aborting." && exit; }

86
dotfiles/Xdefaults Normal file
View file

@ -0,0 +1,86 @@
/* Set each shell as loginShell */
URxvt.loginShell: true
/* Set max lines for scrollback */
URxvt.saveLines: 1000
/* Set internal Border */
URxvt.internalBorder: 3
/* Set linespace to 0px */
URxvt.lineSpace: 0
/*
Set URxvt font
DON'T USE TrueType (ttf) FONTS!!!!!!!!!!! They'll kill KeePass! Use OpenType (otf) instead.
*/
URxvt.font: xft:SourceCodePro+Powerline+Awesome Regular:pixelsize=14,atialias=true
/* Set URxvt transparancy */
!URxvt.transparent: true
!URxvt.shading: 30
/* Deactivate scrollbar */
URxvt.scrollBar: false
URxvt.scrollStyle: rxvt
/* Perl extensions */
URxvt.perl-ext-common: default,matcher
URxvt.matcher.button: 1
URxvt.urlLauncher: firefox
/* Cursor */
URxvt.cursorBlink: true
URxvt.cursorColor: #657b83
URxvt.cursorUnderline: false
/* Pointer */
URxvt.pointerBlank: true
/* Set Colors */
URxvt.background: rgba:2400/2400/2400/dcdc
URxvt.foreground: #FFFFFF
!*fading: 40
*fadeColor: #002b36
*cursorColor: #93a1a1
*pointerColorBackground: #586e75
*pointerColorForeground: #93a1a1
/* black dark/light */
*color0: #000000
!*color0: #073642
*color8: #5D5D5D
!*color8: #002b36
/* red dark/light */
*color1: #C75646
!*color1: #dc322f
*color9: #E09690
!*color9: #cb4b16
/* green dark/light */
*color2: #8EB33B
!*color2: #859900
*color10: #CDEE69
!*color10: #586e75
/* yellow dark/light */
*color3: #D0B03C
!*color3: #b58900
*color11: #FFE377
!*color11: #657b83
/* blue dark/light */
*color4: #72B3CC
!*color4: #268bd2
*color12: #9CD9F0
!*color12: #839496
/* magenta dark/light */
*color5: #C8A0D1
!*color5: #d33682
*color13: #FBB1F9
!*color13: #6c71c4
/* cyan dark/light */
*color6: #218693
!*color6: #2aa198
*color14: #77DFD8
!*color14: #93a1a1
/* white dark/light */
*color7: #B0B0B0
!*color7: #eee8d5
*color15: #F7F7F7
!*color15: #fdf6e3

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 KiB

20
dotfiles/config/bspwm/bspwmrc Executable file
View file

@ -0,0 +1,20 @@
#! /bin/sh
bspc config border_width 2
bspc config window_gap 5
bspc config split_ratio 0.5
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config click_to_focus true
bspc monitor -d 0000 0001 0010 0011 0100 0101 0110 0111
bspc rule -a Gimp desktop=^8 follow=on floating=on
bspc rule -a Chromium desktop=^2
bspc rule -a mplayer2 floating=on
bspc rule -a Screenkey manage=off
# THIS SHOULD BE THE LAST!
# Lauch polybar(s)
$HOME/.config/polybar/launch.sh

View file

@ -0,0 +1,217 @@
;=======================================
;
; Polybar configuration for
; Dell XPS 15 9560
; with bspwm
;
; by Philip "ShokiNN'" Henning
; <mail+polybar@philip-henning.com>
;
;=======================================
[colors]
; Smyck color scheme by hukl
; https://github.com/hukl/Smyck-Color-Scheme
dark-black = #000
light-black = #5D5D5D
dark-red = #C75646
light-red = #E09690
dark-green = #8EB33B
light-green = #CDEE69
dark-yellow = #D0B03C
light-yellow = #FFE377
dark-blue = #4E90A7
light-blue = #9CD9F0
dark-magenta = #C8A0D1
light-magenta = #FBB1F9
dark-cyan = #218693
light-cyan = #77DFD8
dark-white = #B0B0B0
light-white = #F7F7F7
[bar/9560-top]
; Define bar monitor
monitor = "eDP-1"
; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
enable-ipc = true
; Put the bar at the bottom of the screen
bottom = false
; Prefer fixed center position for the `modules-center` block
; When false, the center position will be based on the size of the other blocks.
fixed-center = false
; Set size of the bar
width = 100%
height = 24
; Bar offsets
offset-x = 0%
offset-y = 0
; Number of spaces to add at the beginning/end of the bar
; Individual side values can be defined using:
; padding-{left,right}
padding = 2
; Set Bar Colors
background = ${colors.dark-black}
foreground = ${colors.dark-white}
; Under-/overline pixel size and argb color
; Individual values can be defined using:
; {overline,underline}-size
; {overline,underline}-color
line-size = 2
; Fonts are defined using <font-name>;<vertical-offset>
; Font names are specified using a fontconfig pattern.
; font-0 = NotoSans-Regular:size=8;2
; font-1 = MaterialIcons:size=10
; font-2 = Termsynu:size=8;-1
; font-3 = FontAwesome:size=10
; See the Fonts wiki page for more details
font-0 = SourceCodePro+Powerline+Awesome Regular-Regular:size=9
font-1 = Font Awesome 5 Free Regular-Regular:size=9
font-2 = Font Awesome 5 Free Solid-Solid:size=9
font-3 = Font Awesome 5 Free Solid-Book:size=9
font-4 = Font Awesome 5 Brands Regular-Regular:siye=9
; The separator will be inserted between the output of each module
separator =
; Number of spaces to add before/after each module
; Individual side values can be defined using:
; module-margin-{left,right}
module-margin = 1
; Modules are added to one of the available blocks
; modules-left = cpu ram
; modules-center = xwindow xbacklight
; modules-right = ipc clock
modules-left = bspwm
modules-center = title
modules-right = cpu memory backlight volume battery date
; Position of the system tray window
; If empty or undefined, tray support will be disabled
; NOTE: A center aligned tray will cover center aligned modules
;
; Available positions:
; left
; center
; right
tray-position = right
; If true, the bar will not shift its
; contents when the tray changes
tray-detached = false
; Tray icon max size
tray-maxsize = 16
; Enable pseudo transparency
; Will automatically be enabled if a fully transparent
; background color is defined using `tray-background`
tray-transparent = false
; Background color for the tray container
; By default the tray container will use the bar
; background color.
; Note: 32 bit alpha blending is not supported.
tray-background = ${root.background}
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
tray-offset-x = 5
tray-offset-y = 0
; Pad the sides of each tray icon
tray-padding = 1
; Scale factor for tray clients
tray-scale = 1.0
; Locale used to localize various module data (e.g. date)
; Expects a valid libc locale, for example: sv_SE.UTF-8
locale = de_DE.UTF-8
[bar/9560-bottom]
; Define bar monitor
monitor = "eDP-1"
; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
enable-ipc = true
; Put the bar at the bottom of the screen
bottom = true
; Prefer fixed center position for the `modules-center` block
; When false, the center position will be based on the size of the other blocks.
fixed-center = false
; Set size of the bar
width = 100%
height = 24
; Bar offsets
offset-x = 0%
offset-y = 0
; Number of spaces to add at the beginning/end of the bar
; Individual side values can be defined using:
; padding-{left,right}
padding = 2
; Set Bar Colors
background = ${colors.dark-black}
foreground = ${colors.dark-white}
; Under-/overline pixel size and argb color
; Individual values can be defined using:
; {overline,underline}-size
; {overline,underline}-color
line-size = 2
; Fonts are defined using <font-name>;<vertical-offset>
; Font names are specified using a fontconfig pattern.
; font-0 = NotoSans-Regular:size=8;2
; font-1 = MaterialIcons:size=10
; font-2 = Termsynu:size=8;-1
; font-3 = FontAwesome:size=10
; See the Fonts wiki page for more details
font-0 = SourceCodePro+Powerline+Awesome Regular-Regular:size=9
font-1 = Font Awesome 5 Free Regular-Regular:size=9
font-2 = Font Awesome 5 Free Solid-Solid:size=9
font-3 = Font Awesome 5 Free Solid-Book:size=9
font-4 = Font Awesome 5 Brands Regular-Regular:siye=9
; The separator will be inserted between the output of each module
separator =
; Number of spaces to add before/after each module
; Individual side values can be defined using:
; module-margin-{left,right}
module-margin = 1
; Modules are added to one of the available blocks
; modules-left = cpu ram
; modules-center = xwindow xbacklight
; modules-right = ipc clock
modules-left = filesystem
modules-center =
modules-right = wired-network-usb-right wired-network-usb-left wifi powermenu
; Locale used to localize various module data (e.g. date)
; Expects a valid libc locale, for example: sv_SE.UTF-8
locale = de_DE.UTF-8
;
;
; include modules configuration
include-file = $HOME/.config/polybar/mod_config

View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
load=$(uptime | grep -ohe 'load average[s:][: ].*' | sed 's/,//g' | awk '{print $3" "$4" "$5}')
echo -n $load

View file

@ -0,0 +1,13 @@
#!/usr/bin/env sh
# Terminate already running bar instances
killall -q polybar
killall -q refresh_bar_usb_nic.sh
# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
# Launch bar1 and bar2
polybar -r -q 9560-top &
polybar -r -q 9560-bottom &
$HOME/.config/polybar/refresh_bar_usb_nic.sh &

View file

@ -0,0 +1,355 @@
;
; Modules LEFT
; BSPWM
[module/bspwm]
type = internal/bspwm
; Only show workspaces defined on the same output as the bar
; NOTE: The bspwm and XRandR monitor names must match, which they do by default.
; Default: true
pin-workspaces = true
; Create click handler used to focus workspace
; Default: true
enable-click = true
; Create scroll handlers used to cycle workspaces
; Default: true
enable-scroll = false
; Set the scroll cycle direction
; Default: true
reverse-scroll = false
; Label for focused workspaces
label-focused = %name%
label-focused-foreground = ${colors.light-white}
label-focused-background = ${colors.light-black}
label-focused-underline= ${colors.dark-yellow}
label-focused-padding = 1
; Label for occupied workspaces
label-occupied = %name%
label-occupied-foreground = ${colors.dark-yellow}
label-occupied-padding = 1
; Label for urgend workspaces
label-urgent = %name%!
label-urgent-background = ${colors.light-red}
label-urgent-padding = 1
; Label for empty workspaces
label-empty = %name%
label-empty-foreground = ${colors.dark-white}
label-empty-padding = 1
; filesystem
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
mount-1 = /home
mount-2 = /boot
mount-3 = /esp
mount-4 = /tmp
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %used% (%percentage_used%%)/%free%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.dark-white}
; Spacing between entries
; Default: 2
spacing = 1
;
; Modules CENTER
[module/title]
type = internal/xwindow
format-foreground = ${colors.dark-white}
format-padding = 1
; Available tokens:
; %title%
; Default: %title%
label = %title%
label-maxlen = 100
;
; Modules RIGHT
; backlight - uses ACPI
; (DEPRECAED!) - xbacklight does not work with modesetting driver
[module/backlight]
type = internal/backlight
card = intel_backlight
format = <label> <bar>
format-underline = ${colors.dark-red}
label = 
bar-width = 10
bar-indicator = |
bar-indicator-foreground = ${colors.dark-red}
bar-fill = ─
bar-fill-foreground = ${colors.dark-red}
bar-empty = ─
bar-empty-foreground = ${colors.dark-white}
; battery
[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
; If an inotify event haven't been reported in this many
; seconds, manually poll for new values.
;
; Needed as a fallback for systems that don't report events
; on sysfs/procfs.
;
; Disable polling by setting the interval to 0.
;
; Default: 5
poll-interval = 5
; see "man date" for details on how to format the time string
; NOTE: if you want to use syntax tags here you need to use %%{...}
; Default: %H:%M:%S
time-format = %H:%M
format-charging = <animation-charging> <label-charging>
format-charging-underline = ${colors.dark-green}
label-charging = %percentage%% %time%h
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
label-discharging = %percentage%% %time%h
format-full = <ramp-capacity>
format-full-underline = ${self.format-charging-underline}
; Only applies if <ramp-capacity> is used
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-font = 1
; Only applies if <animation-charging> is used
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-font = 1
; Framerate in milliseconds
animation-charging-framerate = 750
; CPU load
[module/cpu]
type = custom/script
interval = 5
exec = ~/.config/polybar/cpuload.sh
label = CPU: %output%
format = <label>
format-underline = ${colors.dark-cyan}
; Date (Clock and Date)
[module/date]
type = internal/date
; refresh rate
interval = 1
; date syntax
date = "%d.%m.%Y"
; time syntax
time = "%H:%M:%S"
format-prefix-foreground = ${colors.dark-white}
format-underline = ${colors.dark-blue}
label =  %date%  %time%
; Memory usage
[module/memory]
type = internal/memory
; Seconds to sleep between updates
; Default: 1
interval = 5
format = <label>
format-underline = ${colors.light-cyan}
; Available tokens:
; %percentage_used% (default)
; %percentage_free%
; %gb_used%
; %gb_free%
; %gb_total%
; %mb_used%
; %mb_free%
; %mb_total%
label = RAM: %gb_used%/%gb_free%
; Only applies if <bar-used> is used
bar-used-indicator =
bar-used-width = 10
bar-used-foreground-0 = #55aa55
bar-used-foreground-1 = #557755
bar-used-foreground-2 = #f5a70a
bar-used-foreground-3 = #ff5555
bar-used-fill = ▐
bar-used-empty = ▐
bar-used-empty-foreground = #444444
; powermenu
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open = 
label-open-foreground = ${colors.dark-red}
lable-open-font = 1
label-close =  cancel
label-close-foreground = ${colors.dark-red}
label-separator = |
label-separator-foreground = ${colors.dark-white}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = reboot
menu-1-0-exec = reboot
menu-2-0 = power off
menu-2-0-exec = shutdown -h -t 0 now
; volume
[module/volume]
type = internal/volume
format-volume = <label-volume> <bar-volume>
format-volume-underline = ${colors.dark-magenta}
label-volume = 
lable-volume-font = 2
label-volume-foreground = ${root.foreground}
format-muted-underline = ${self.format-volume-underline}
format-muted-prefix = " "
format-muted-prefix-font = 2
format-muted-foreground = ${colors.dark-white}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-fill = ─
bar-volume-empty = ─
bar-volume-empty-foreground = ${colors.dark-white}
; Soundcard to be used
; Usually in the format hw:#
master-soundcard = default
speaker-soundcard = default
headphone-soundcard = default
; Name of the master mixer
; Default: Master
master-mixer = Master
; Optionally define speaker and headphone mixers
; Use the following command to list available mixer controls:
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
; Default: none
speaker-mixer = Speaker
; Default: none
headphone-mixer = Headphone
; NOTE: This is required if headphone_mixer is defined
; Use the following command to list available device controls
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
; Default: none
headphone-id = 20
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
; Default: false
mapped = true
; Internal Wifi card
[module/wifi]
type = internal/network
interface = wlp2s0
; Seconds to sleep between updates
; Default: 1
interval = 0.5
format-connected = <label-connected>
format-connected-underline = ${colors.dark-green}
format-connected-prefix = " "
format-connected-prefix-font = 2
label-connected = (%signal%%) %ifname%: %essid% | IP: %local_ip% | UP: %upspeed% DOWN: %downspeed%
label-connected-foreground = ${colors.dark-white}
format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.dark-red}
format-disconnected-prefix = " "
format-disconnected-prefix-font = 2
label-disconnected = %ifname%
label-disconnected-foreground = ${colors.dark-white}
; Left USB NIC
[module/wired-network-usb-left]
type = internal/network
interface = enp0s20f0u2
; Seconds to sleep between updates
; Default: 1
interval = 0.5
format-connected-underline = ${colors.dark-green}
format-connected-prefix = " "
format-connected-prefix-font = 2
format-connected-prefix-foreground = ${colors.dark-white}
label-connected = %ifname% (%linkspeed%) | IP: %local_ip% | UP: %upspeed% DOWN: %downspeed%
format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.dark-red}
format-disconnected-prefix = " "
format-disconnected-prefix-font = 2
label-disconnected = %ifname%
label-disconnected-foreground = ${colors.dark-white}
; Right USB NIC
[module/wired-network-usb-right]
type = internal/network
interface = enp0s20f0u1
; Seconds to sleep between updates
; Default: 5
interval = 0.5
format-connected-underline = ${colors.dark-green}
format-connected-prefix = " "
format-connected-prefix-font = 2
format-connected-prefix-foreground = ${colors.dark-white}
label-connected = %ifname% (%linkspeed%) | IP: %local_ip% | UP: %upspeed% DOWN: %downspeed%
format-disconnected = <label-disconnected>
format-disconnected-underline = ${colors.dark-red}
format-disconnected-prefix = " "
format-disconnected-prefix-font = 2
label-disconnected = %ifname%
label-disconnected-foreground = ${colors.dark-white}

View file

@ -0,0 +1,40 @@
#!/bin/bash
######################
#
# This script detects if an USB NIC was connected and reloads the bar
#
while true; do
# Get PID of the bottom bar
pid_bottom_bar=$(ps -x | awk '!/awk/ && /9560-bottom/ {print $1}')
# 1st USB port (right)
if [[ -z $USB_NIC1 ]]; then
USB_NIC1=$(ip link | awk '!/awk/ && /enp0s20f0u1/ {print $2}' | cut -d":" -f1)
if [[ -n $USB_NIC1 ]]; then
polybar-msg -p $pid_bottom_bar cmd restart
fi
elif [[ -n $USB_NIC1 ]]; then
USB_NIC1_CHECK=$(ip link | awk '!/awk/ && /enp0s20f0u1/ {print $2}' | cut -d":" -f1)
if [[ -z $USB_NIC1_CHECK ]]; then
unset USB_NIC1
polybar-msg -p $pid_bottom_bar cmd restart
fi
fi
# 2nd USB port (left)
if [[ -z $USB_NIC2 ]]; then
USB_NIC2=$(ip link | awk '!/awk/ && /enp0s20f0u2/ {print $2}' | cut -d":" -f1)
if [[ -n $USB_NIC2 ]]; then
polybar-msg -p $pid_bottom_bar cmd restart
fi
elif [[ -n $USB_NIC2 ]]; then
USB_NIC2_CHECK=$(ip link | awk '!/awk/ && /enp0s20f0u2/ {print $2}' | cut -d":" -f1)
if [[ -z $USB_NIC2_CHECK ]]; then
unset USB_NIC2
polybar-msg -p $pid_bottom_bar cmd restart
fi
fi
sleep 5
done

121
dotfiles/config/sxhkd/sxhkdrc Executable file
View file

@ -0,0 +1,121 @@
##
# bspwm hotkeys
##
# Kill bspwm & polybar
super + alt + Escape
bspc quit 1 && pkill -x polybar
# Switch to desktop
ctrl + alt + {Left,Right}
bspc desktop -f {prev,next}
# Move current window
# TODO Modifier dose not apply to all commands!!
#ctrl + alt + shift + {Left,Right}
# bspc node -d {prev,next} \
# ;bspc desktop -f {prev,next}
# Move current window to left
ctrl + alt + shift + Left
bspc node -d prev \
;bspc desktop -f prev
# Move current window to right
ctrl + alt + shift + Right
bspc node -d next \
;bspc desktop -f next
# Select (Switch)/Move Window
super + {_,shift + }{Left,Down,Up,Right}
bspc node -{f,s} {west,south,north,east}
# Preselect where to split
super + alt + {space,Left,Down,Up,Right}
bspc node -p {cancel,west,south,north,east}
# Set state of the current window (floating|fullscreen)
super + {s,f,t}
bspc node -t {floating,fullscreen,tiled}
# Move window with Mouse
super + button{1-3}
bspc pointer -g {move,resize_side,resize_corner}
# Close current window
super + w
bspc node -c
# Select desktop layout (monocle|tiled)
# TODO, why sould I use this?
#super + l
# bspc desktop -l next
##
# wm independent hotkeys
##
# Start urxvt terminal
super + Return
urxvt
# Open dynamic menu
super + space
dmenu_run
# Lower,Raise Volume Master
{_,shift + }XF86Audio{Lower,Raise}Volume
amixer set Master {2%-,10%-,2%+,10%+}
# Mute Master
XF86AudioMute
amixer set Master toggle
# Modify LCD Brightness
# XF86MonBrightness{Down,Up} are the Display Birghtness Keys
{_,shift + }XF86MonBrightness{Down,Up}
xbacklight {-1,-10,+1,+10}
# Screenlock via slim
#ctrl + alt + l
super + l
slimlock
# Lock & Suspend System (keep RAM in physical RAM)
ctrl + alt + BackSpace
slimlock & systemctl suspend
# Lock & Hybernate System (save RAM to SSD)
ctrl + alt + Insert
slimlock & systemctl hibernate
## Stratum 0
## Holodeck
# Holodeck nice white
#ctrl + shift + 1
# curl http://holodeck.stratum0.net/holodeck/all/nicewhite
# Holodeck cold white
#ctrl + shift + 2
# curl http://holodeck.stratum0.net/holodeck/all/day
# Holodeck red
#ctrl + shift + 3
# curl http://holodeck.stratum0.net/holodeck/all/0.2,0,0,0
# Holodeck nearly off (nightmode)
#ctrl + shift + 4
# curl http://holodeck.stratum0.net/holodeck/all/night
# Holodeck off
#ctrl + shift + 5
# curl http://holodeck.stratum0.net/holodeck/all/off
# sxhkd reload configuratoin
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd

2
dotfiles/fehbg Executable file
View file

@ -0,0 +1,2 @@
#!/bin/sh
'feh' '--image-bg' 'black' '--bg-center' '{{@@ env['HOME'] @@}}/.config/bspwm/bg.png'

55
dotfiles/powerlevel9krc Normal file
View file

@ -0,0 +1,55 @@
POWERLEVEL9K_MODE='awesome-patched'
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%{%F{249}%}\u250f"
POWERLEVEL9K_MULTILINE_SECOND_PROMPT_PREFIX="%{%F{249}%}\u2517%{%F{default}%} "
POWERLEVEL9K_SHORTEN_DIR_LENGTH=4
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
POWERLEVEL9K_OS_ICON_BACKGROUND="black"
POWERLEVEL9K_OS_ICON_FOREGROUND="249"
POWERLEVEL9K_TODO_BACKGROUND="black"
POWERLEVEL9K_TODO_FOREGROUND="249"
POWERLEVEL9K_DIR_HOME_BACKGROUND="black"
POWERLEVEL9K_DIR_HOME_FOREGROUND="249"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND="black"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="249"
POWERLEVEL9K_DIR_DEFAULT_BACKGROUND="black"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="249"
POWERLEVEL9K_STATUS_OK_BACKGROUND="black"
POWERLEVEL9K_STATUS_OK_FOREGROUND="green"
POWERLEVEL9K_STATUS_ERROR_BACKGROUND="black"
POWERLEVEL9K_STATUS_ERROR_FOREGROUND="red"
POWERLEVEL9K_NVM_BACKGROUND="black"
POWERLEVEL9K_NVM_FOREGROUND="249"
POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_COLOR="green"
POWERLEVEL9K_RVM_BACKGROUND="black"
POWERLEVEL9K_RVM_FOREGROUND="249"
POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_COLOR="red"
POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND="black"
POWERLEVEL9K_LOAD_WARNING_BACKGROUND="black"
POWERLEVEL9K_LOAD_NORMAL_BACKGROUND="black"
POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND="249"
POWERLEVEL9K_LOAD_WARNING_FOREGROUND="249"
POWERLEVEL9K_LOAD_NORMAL_FOREGROUND="249"
POWERLEVEL9K_LOAD_CRITICAL_VISUAL_IDENTIFIER_COLOR="red"
POWERLEVEL9K_LOAD_WARNING_VISUAL_IDENTIFIER_COLOR="yellow"
POWERLEVEL9K_LOAD_NORMAL_VISUAL_IDENTIFIER_COLOR="green"
POWERLEVEL9K_RAM_BACKGROUND="black"
POWERLEVEL9K_RAM_FOREGROUND="249"
POWERLEVEL9K_RAM_ELEMENTS=(ram_free)
POWERLEVEL9K_BATTERY_LOW_BACKGROUND="black"
POWERLEVEL9K_BATTERY_CHARGING_BACKGROUND="black"
POWERLEVEL9K_BATTERY_CHARGED_BACKGROUND="black"
POWERLEVEL9K_BATTERY_DISCONNECTED_BACKGROUND="black"
POWERLEVEL9K_BATTERY_LOW_FOREGROUND="249"
POWERLEVEL9K_BATTERY_CHARGING_FOREGROUND="249"
POWERLEVEL9K_BATTERY_CHARGED_FOREGROUND="249"
POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND="249"
POWERLEVEL9K_BATTERY_LOW_VISUAL_IDENTIFIER_COLOR="red"
POWERLEVEL9K_BATTERY_CHARGING_VISUAL_IDENTIFIER_COLOR="yellow"
POWERLEVEL9K_BATTERY_CHARGED_VISUAL_IDENTIFIER_COLOR="green"
POWERLEVEL9K_BATTERY_DISCONNECTED_VISUAL_IDENTIFIER_COLOR="249"
POWERLEVEL9K_TIME_BACKGROUND="black"
POWERLEVEL9K_TIME_FOREGROUND="249"
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M:%S} \UE12E"
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=('status' 'os_icon' 'todo' 'context' 'dir_writable' 'dir' 'pyenv' 'anaconda' 'virtualenv' 'vcs')
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=('nvm' 'rvm' 'load' 'ram_joined' 'battery' 'time')

2
dotfiles/profile Normal file
View file

@ -0,0 +1,2 @@
XDG_CONFIG_HOME="$HOME/.config"
export XDG_CONFIG_HOME

3
dotfiles/vim/.netrwhist Normal file
View file

@ -0,0 +1,3 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhist_cnt =1
let g:netrw_dirhist_1='/home/phg/.oh-my-zsh/plugins/colorize'

97
dotfiles/vim/colors/smyck.vim Executable file
View file

@ -0,0 +1,97 @@
" ----------------------------------------------------------------------------
" Vim color file
" Maintainer: John-Paul Bader <contact@smyck.org>
" Last Change: 2012 April
" License: Beer Ware
" ----------------------------------------------------------------------------
" Reset Highlighting
hi clear
if exists("syntax_on")
syntax reset
endif
set background=dark
set linespace=3
let g:colors_name = "smyck"
hi Normal cterm=none ctermbg=none ctermfg=15 gui=none guibg=#282828 guifg=#F7F7F7
hi LineNr cterm=none ctermbg=none ctermfg=8 gui=none guibg=#282828 guifg=#8F8F8F
hi StatusLine cterm=none ctermbg=8 ctermfg=15 gui=none guibg=#5D5D5D guifg=#FBFBFB
hi StatusLineNC cterm=none ctermbg=15 ctermfg=8 gui=none guibg=#5D5D5D guifg=#FBFBFB
hi Search cterm=none ctermbg=6 ctermfg=15 gui=none guibg=#2EB5C1 guifg=#F7F7F7
hi IncSearch cterm=none ctermbg=3 ctermfg=8 gui=none guibg=#F6DC69 guifg=#8F8F8F
hi ColumnMargin cterm=none ctermbg=0 gui=none guibg=#000000
hi Error cterm=none ctermbg=1 ctermfg=15 gui=none guifg=#F7F7F7
hi ErrorMsg cterm=none ctermbg=1 ctermfg=15 gui=none guifg=#F7F7F7
hi Folded cterm=none ctermbg=8 ctermfg=2 gui=none guibg=#3B3B3B guifg=#90AB41
hi FoldColumn cterm=none ctermbg=8 ctermfg=2 gui=none guibg=#3B3B3B guifg=#90AB41
hi NonText cterm=bold ctermbg=none ctermfg=8 gui=bold guifg=#8F8F8F
hi ModeMsg cterm=bold ctermbg=none ctermfg=10 gui=none
hi Pmenu cterm=none ctermbg=8 ctermfg=15 gui=none guibg=#8F8F8F guifg=#F7F7F7
hi PmenuSel cterm=none ctermbg=15 ctermfg=8 gui=none guibg=#F7F7F7 guifg=#8F8F8F
hi PmenuSbar cterm=none ctermbg=15 ctermfg=8 gui=none guibg=#F7F7F7 guifg=#8F8F8F
hi SpellBad cterm=none ctermbg=1 ctermfg=15 gui=none guifg=#F7F7F7
hi SpellCap cterm=none ctermbg=4 ctermfg=15 gui=none guifg=#F7F7F7
hi SpellRare cterm=none ctermbg=4 ctermfg=15 gui=none guifg=#F7F7F7
hi SpellLocal cterm=none ctermbg=4 ctermfg=15 gui=none guifg=#F7F7F7
hi Visual cterm=none ctermbg=15 ctermfg=8 gui=none guibg=#F7F7F7 guifg=#8F8F8F
hi Directory cterm=none ctermbg=none ctermfg=4 gui=none guibg=#242424 guifg=#88CCE7
hi SpecialKey cterm=none ctermbg=none ctermfg=8 gui=none guifg=#8F8F8F
hi DiffAdd cterm=bold ctermbg=2 ctermfg=15
hi DiffChange cterm=bold ctermbg=4 ctermfg=15
hi DiffDelete cterm=bold ctermbg=1 ctermfg=15
hi DiffText cterm=bold ctermbg=3 ctermfg=8
hi MatchParen cterm=none ctermbg=6 ctermfg=15 gui=none guibg=#2EB5C1 guifg=#F7F7F7
hi CursorLine cterm=none ctermbg=238 ctermfg=none gui=none guibg=#424242
hi CursorColumn cterm=none ctermbg=238 ctermfg=none gui=none guibg=#424242
hi Title cterm=none ctermbg=none ctermfg=4 gui=none guifg=#88CCE7
hi VertSplit cterm=bold ctermbg=none ctermfg=8 gui=bold guibg=#282828 guifg=#8F8F8F
hi SignColumn cterm=bold ctermbg=none ctermfg=8 gui=bold guibg=#282828 guifg=#8F8F8F
" ----------------------------------------------------------------------------
" Syntax Highlighting
" ----------------------------------------------------------------------------
hi Keyword cterm=none ctermbg=none ctermfg=10 gui=none guifg=#D1FA71
hi Comment cterm=none ctermbg=none ctermfg=8 gui=none guifg=#8F8F8F
hi Delimiter cterm=none ctermbg=none ctermfg=15 gui=none guifg=#F7F7F7
hi Identifier cterm=none ctermbg=none ctermfg=12 gui=none guifg=#96D9F1
hi Structure cterm=none ctermbg=none ctermfg=12 gui=none guifg=#9DEEF2
hi Ignore cterm=none ctermbg=none ctermfg=8 gui=none guifg=bg
hi Constant cterm=none ctermbg=none ctermfg=12 gui=none guifg=#96D9F1
hi PreProc cterm=none ctermbg=none ctermfg=10 gui=none guifg=#D1FA71
hi Type cterm=none ctermbg=none ctermfg=12 gui=none guifg=#96D9F1
hi Statement cterm=none ctermbg=none ctermfg=10 gui=none guifg=#D1FA71
hi Special cterm=none ctermbg=none ctermfg=6 gui=none guifg=#d7d7d7
hi String cterm=none ctermbg=none ctermfg=3 gui=none guifg=#F6DC69
hi Number cterm=none ctermbg=none ctermfg=3 gui=none guifg=#F6DC69
hi Underlined cterm=none ctermbg=none ctermfg=magenta gui=underline guibg=#272727
hi Symbol cterm=none ctermbg=none ctermfg=9 gui=none guifg=#FAB1AB
hi Method cterm=none ctermbg=none ctermfg=15 gui=none guifg=#F7F7F7
hi Interpolation cterm=none ctermbg=none ctermfg=6 gui=none guifg=#2EB5C1
" Erlang
hi link erlangAtom Keyword
hi link erlangBitType Keyword
hi link rubyBeginend Keyword
hi link rubyClass Keyword
hi link rubyModule Keyword
hi link rubyKeyword Keyword
hi link rubyOperator Method
hi link rubyIdentifier Keyword
hi link rubyClassVariable Symbol
hi link rubyInstanceVariable Constant
hi link rubyGlobalVariable Constant
hi link rubyClassVariable Method
hi link rubyConstant Constant
hi link rubySymbol Symbol
hi link rubyFunction Constant
hi link rubyControl Keyword
hi link rubyConditional Keyword
hi link rubyInterpolation Interpolation
hi link rubyInterpolationDelimiter Interpolation
hi link rubyRailsMethod Method

5
dotfiles/vimrc Normal file
View file

@ -0,0 +1,5 @@
" Enable syntaxhightlighting
syntax on
" Set Cholorscheme to smyck
colorscheme smyck

6
dotfiles/xinitrc Executable file
View file

@ -0,0 +1,6 @@
#!/bin/sh
# load Xresources
$HOME/.fehbg &
sxhkd &
exec bspwm
xrdb -I$HOME -load ~/.Xresources

3
dotfiles/xsession Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
/bin/zsh --login -i ~/.xinitrc

116
dotfiles/zshrc Normal file
View file

@ -0,0 +1,116 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH={{@@ env['HOME'] @@}}/.oh-my-zsh
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
if [[ $TERM == 'linux' ]]; then
ZSH_THEME="agnoster"
else
source ~/.powerlevel9krc
ZSH_THEME="powerlevel9k/powerlevel9k"
fi
# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array have no effect
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
archlinux
colored-man-pages
cp
git
git-extras
gitignore
pip
pyenv
pylint
python
screen
sublime
sudo
systemd
themes
zsh-navigation-tools
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias dotdrop='eval $(grep -v "^#" ~/.files/.env.public) ~/.files/dotdrop.sh'

10
update_dotdrop.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
cd $SCRIPTPATH
git submodule foreach git pull origin master
git add dotdrop
git commit -m 'update dotdrop'
git push