Merge branch 'master' of github.com:lytedev/dotfiles

This commit is contained in:
Daniel Flanagan 2016-07-29 19:03:55 -05:00
commit 8b9cb702e5
67 changed files with 2428 additions and 215 deletions

View file

@ -1,5 +0,0 @@
#!/usr/bin/env bash
sudo pacman -S xorg-xinit xorg-server xorg-xrdb --noconfirm
pacaur -S gtk-theme-arc gtk-engine-murrine --noconfirm

View file

@ -0,0 +1,2 @@
https://security.google.com/settings/security/apppasswords?pli=1 App passwords - Account Settings
https://security.google.com/settings/security/apppasswords App passwords - Account Settings

View file

@ -0,0 +1,658 @@
# vim: ft=conf
#
# In this config file, qutebrowser's key bindings are configured.
# The format looks like this:
#
# [keymode]
#
# command
# keychain
# keychain2
# ...
#
# All blank lines and lines starting with '#' are ignored.
# Inline-comments are not permitted.
#
# keymode is a comma separated list of modes in which the key binding should be
# active. If keymode starts with !, the key binding is active in all modes
# except the listed modes.
#
# For special keys (can't be part of a keychain), enclose them in `<`...`>`.
# For modifiers, you can use either `-` or `+` as delimiters, and these names:
#
# * Control: `Control`, `Ctrl`
# * Meta: `Meta`, `Windows`, `Mod4`
# * Alt: `Alt`, `Mod1`
# * Shift: `Shift`
#
# For simple keys (no `<>`-signs), a capital letter means the key is pressed
# with Shift. For special keys (with `<>`-signs), you need to explicitly add
# `Shift-` to match a key pressed with shift. You can bind multiple commands
# by separating them with `;;`.
#
# Note that default keybindings are always bound, and need to be explicitly
# unbound if you wish to remove them:
#
# <unbound>
# keychain
# keychain2
# ...
[!normal]
clear-keychain ;; leave-mode
<escape>
<ctrl-[>
[normal]
# Keybindings for normal mode.
clear-keychain ;; search
<escape>
set-cmd-text -s :open
o
set-cmd-text :open {url:pretty}
go
set-cmd-text -s :open -t
O
set-cmd-text :open -t {url:pretty}
gO
set-cmd-text -s :open -b
xo
set-cmd-text :open -b {url:pretty}
xO
set-cmd-text -s :open -w
wo
set-cmd-text :open -w {url:pretty}
wO
open -t
ga
<ctrl-t>
open -w
<ctrl-n>
tab-close
d
<ctrl-w>
tab-close -o
D
tab-only
co
tab-focus
K
<ctrl-pgdown>
tab-move
gm
tab-move -
gl
tab-move +
gr
tab-prev
J
<ctrl-pgup>
tab-clone
gC
reload
r
<f5>
reload -f
R
<ctrl-f5>
back
H
back -t
th
back -w
wh
forward
L
forward -t
tl
forward -w
wl
fullscreen
<f11>
hint
f
hint all tab
F
hint all window
wf
hint all tab-bg
;b
hint all tab-fg
;f
hint all hover
;h
hint images
;i
hint images tab
;I
hint links fill ":open {hint-url}"
;o
hint links fill ":open -t {hint-url}"
;O
hint links yank
;y
hint links yank-primary
;Y
hint --rapid links tab-bg
;r
hint --rapid links window
;R
hint links download
;d
hint inputs
;t
scroll left
h
scroll down
j
scroll up
k
scroll right
l
undo
u
<ctrl-shift-t>
scroll-perc 0
gg
scroll-perc
G
search-next
n
search-prev
N
enter-mode insert
i
enter-mode caret
v
enter-mode set_mark
`
enter-mode jump_mark
'
yank
yy
yank -s
yY
yank -t
yt
yank -ts
yT
yank -d
yd
yank -ds
yD
yank -p
yp
yank -ps
yP
paste
pp
paste -s
pP
paste -t
Pp
paste -ts
PP
paste -w
wp
paste -ws
wP
quickmark-save
m
set-cmd-text -s :quickmark-load
b
set-cmd-text -s :quickmark-load -t
B
set-cmd-text -s :quickmark-load -w
wb
bookmark-add
M
set-cmd-text -s :bookmark-load
gb
set-cmd-text -s :bookmark-load -t
gB
set-cmd-text -s :bookmark-load -w
wB
save
sf
set-cmd-text -s :set
ss
set-cmd-text -s :set -t
sl
set-cmd-text -s :set keybind
sk
zoom-out
-
zoom-in
+
zoom
=
navigate prev
[[
navigate next
]]
navigate prev -t
{{
navigate next -t
}}
navigate up
gu
navigate up -t
gU
navigate increment
<ctrl-a>
navigate decrement
<ctrl-x>
inspector
wi
download
gd
download-cancel
ad
download-clear
cd
view-source
gf
set-cmd-text -s :buffer
gt
tab-focus last
<ctrl-tab>
enter-mode passthrough
<ctrl-v>
quit
<ctrl-q>
scroll-page 0 1
<ctrl-f>
scroll-page 0 -1
<ctrl-b>
scroll-page 0 0.5
<ctrl-d>
scroll-page 0 -0.5
<ctrl-u>
tab-focus 1
<alt-1>
tab-focus 2
<alt-2>
tab-focus 3
<alt-3>
tab-focus 4
<alt-4>
tab-focus 5
<alt-5>
tab-focus 6
<alt-6>
tab-focus 7
<alt-7>
tab-focus 8
<alt-8>
tab-focus 9
<alt-9>
home
<ctrl-h>
stop
<ctrl-s>
print
<ctrl-alt-p>
open qute:settings
Ss
follow-selected
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
follow-selected -t
<ctrl-return>
<ctrl-enter>
repeat-command
.
[insert]
# Keybindings for insert mode.
# Since normal keypresses are passed through, only special keys are
# supported in this mode.
# Useful hidden commands to map in this section:
# * `open-editor`: Open a texteditor with the focused field.
# * `paste-primary`: Paste primary selection at cursor position.
open-editor
<ctrl-e>
paste-primary
<shift-ins>
[hint]
# Keybindings for hint mode.
# Since normal keypresses are passed through, only special keys are
# supported in this mode.
# Useful hidden commands to map in this section:
# * `follow-hint`: Follow the currently selected hint.
follow-hint
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
hint --rapid links tab-bg
<ctrl-r>
hint links
<ctrl-f>
hint all tab-bg
<ctrl-b>
[command]
# Keybindings for command mode.
# Since normal keypresses are passed through, only special keys are
# supported in this mode.
# Useful hidden commands to map in this section:
# * `command-history-prev`: Switch to previous command in history.
# * `command-history-next`: Switch to next command in history.
# * `completion-item-prev`: Select previous item in completion.
# * `completion-item-next`: Select next item in completion.
# * `command-accept`: Execute the command currently in the commandline.
command-history-prev
<ctrl-p>
command-history-next
<ctrl-n>
completion-item-prev
<shift-tab>
<up>
completion-item-next
<tab>
<down>
completion-item-del
<ctrl-d>
command-accept
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
[prompt]
# Keybindings for prompts in the status line.
# You can bind normal keys in this mode, but they will be only active
# when a yes/no-prompt is asked. For other prompt modes, you can only
# bind special keys.
# Useful hidden commands to map in this section:
# * `prompt-accept`: Confirm the entered value.
# * `prompt-yes`: Answer yes to a yes/no question.
# * `prompt-no`: Answer no to a yes/no question.
prompt-accept
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
prompt-yes
y
prompt-no
n
prompt-open-download
<ctrl-x>
[command,prompt]
rl-backward-char
<ctrl-b>
rl-forward-char
<ctrl-f>
rl-backward-word
<alt-b>
rl-forward-word
<alt-f>
rl-beginning-of-line
<ctrl-a>
rl-end-of-line
<ctrl-e>
rl-unix-line-discard
<ctrl-u>
rl-kill-line
<ctrl-k>
rl-kill-word
<alt-d>
rl-unix-word-rubout
<ctrl-w>
<alt-backspace>
rl-yank
<ctrl-y>
rl-delete-char
<ctrl-?>
rl-backward-delete-char
<ctrl-h>
[caret]
toggle-selection
v
<space>
drop-selection
<ctrl-space>
enter-mode normal
c
move-to-next-line
j
move-to-prev-line
k
move-to-next-char
l
move-to-prev-char
h
move-to-end-of-word
e
move-to-next-word
w
move-to-prev-word
b
move-to-start-of-next-block
]
move-to-start-of-prev-block
[
move-to-end-of-next-block
}
move-to-end-of-prev-block
{
move-to-start-of-line
0
move-to-end-of-line
$
move-to-start-of-document
gg
move-to-end-of-document
G
yank-selected -p
Y
yank-selected
y
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
scroll left
H
scroll down
J
scroll up
K
scroll right
L

10
browser/qutebrowser/link.bash Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
mkdir -p "$HOME/.config/qutebrowser"
rm -rf "$HOME/.config/qutebrowser"
ln -s "$DOTFILES_PATH/browser/qutebrowser" "$HOME/.config/qutebrowser"

View file

File diff suppressed because it is too large Load diff

View file

@ -4,9 +4,9 @@ DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source "$DIR/variables.bash"
rm -f ~/.Xresources.colors
rm -f "$DOTFILES_PATH/vim/config/colors/current.vim"
rm -f "$DOTFILES_PATH/editor/nvim/config/colors/current.vim"
ln -s "$DOTFILES_PATH/colors/xresources" "$HOME/.Xresources.colors"
ln -s "$DOTFILES_PATH/colors/vim" "$DOTFILES_PATH/vim/config/colors/current.vim"
ln -s "$DOTFILES_PATH/colors/vim" "$DOTFILES_PATH/editor/nvim/config/colors/current.vim"
source "$DOTFILES_PATH/x/xloadresources"
source "$DOTFILES_PATH/env/x/xloadresources"

View file

@ -49,14 +49,16 @@ Plug 'tmux-plugins/vim-tmux-focus-events' " allow transitions within tmux
Plug 'christoomey/vim-tmux-navigator' " allow transitions within tmux
Plug 'tasklist.vim' " show tasks with leader,t
Plug 'godlygeek/tabular' " align text lines together
Plug 'jez/vim-superman' " view man pages with vim
Plug 'lytedev/vim-superman' " view man pages with vim
Plug 'tpope/vim-surround' " quickly modify text surrounding objects
Plug 'tpope/vim-speeddating' " vim knows about date-like text objects
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} " fuzzy file finding
Plug 'junegunn/fzf.vim' " helpers for using fzf in vim
Plug 'michaeljsmith/vim-indent-object' " adds an indentation level text object
Plug 'wellle/targets.vim' " adds some more handy text objects
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} " fuzzy file finding
Plug 'junegunn/fzf.vim' " helpers for using fzf in vim
let g:fzf_layout = { 'window': 'enew' }
" plugins for specific file types
Plug 'kchmck/vim-coffee-script', {'for': ['coffee', 'coffeescript', 'vue']}
Plug 'posva/vim-vue', {'for': ['vue']}
@ -101,6 +103,7 @@ set softtabstop=2
set noexpandtab
set autoindent smartindent
set list
set nostartofline
set listchars=trail,tab:\ \
" look and feel
@ -120,7 +123,11 @@ set formatoptions=crql1j
set title " handle window title
set synmaxcol=2048
set number " line numbers
if exists('asmanviewer')
set nonumber " no line numbers when viewing a man page
else
set number " line numbers
endif
" set relativenumber
set cursorline " highlight the current line
" set cursorcolumn " highlight the current column
@ -213,6 +220,19 @@ endif
" no empty buffer on startup
autocmd VimEnter * nested if bufname('')=='' && line('$') == 1 && col('$')==1 && !&modified | bd % | endif
function! TerminalSplit()
let current_file = @%
echo current_file
if match(current_file, "term://*") != -1
split
terminal
else
vsplit
vertical resize 80
terminal
endif
endfunction
" bindings
" common typo fixes
@ -225,6 +245,23 @@ command! Q q
" best leader
let mapleader = "\<Space>"
" terminal mappings
" open a terminal split at 80 columns
nnoremap <C-t> :call TerminalSplit()<CR>
tnoremap <C-t> <C-\><C-n>:call TerminalSplit()<CR>
" close the terminal
tnoremap <C-w> <C-\><C-n>:q!<CR>
" moving between terminal splits
tnoremap <C-h> <C-\><C-n><C-w>h
tnoremap <C-j> <C-\><C-n><C-w>j
tnoremap <C-k> <C-\><C-n><C-w>k
tnoremap <C-l> <C-\><C-n><C-w>l
" enter insert mode when entering a terminal buffer
autocmd BufWinEnter,WinEnter term://* startinsert
" change buffers with leader,tab
nnoremap <leader><Tab> :bnext<CR>
nnoremap <leader><S-Tab> :bprevious<CR>
@ -276,10 +313,6 @@ inoremap jk <Esc>
inoremap Jk <Esc>
inoremap jK <Esc>
inoremap JK <Esc>
inoremap kj <Esc>
inoremap Kj <Esc>
inoremap kJ <Esc>
inoremap KJ <Esc>
" use hjkl-movement between rows when soft wrapping:
nnoremap j gj
@ -294,8 +327,6 @@ map <silent> ,e <Plug>CamelCaseMotion_e
map <silent> ,ge <Plug>CamelCaseMotion_ge
" inner _ objects
omap <silent> iw <Plug>CamelCaseMotion_iw
xmap <silent> iw <Plug>CamelCaseMotion_iw
omap <silent> ib <Plug>CamelCaseMotion_ib
xmap <silent> ib <Plug>CamelCaseMotion_ib
omap <silent> ie <Plug>CamelCaseMotion_ie
@ -313,7 +344,6 @@ xmap <silent> ae <Plug>CamelCaseMotion_ae
map <F3> mw:%s/\s\+$//<CR>:let @/ = ""<CR>'w
" close buffer:
nnoremap <silent> <C-w> :bd<CR>
nnoremap <silent> <leader>w :bd<CR>
" toggle spell checking:

10
editor/nvim/link.bash Executable file
View file

@ -0,0 +1,10 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
rm -rf "$HOME/.config/nvim"
ln -s "$DOTFILES_PATH/editor/nvim/config" "$HOME/.config/nvim"
nvim +PlugInstal +qall

7
email/mutt/config/muttrc Normal file
View file

@ -0,0 +1,7 @@
my_hdr X-Homepage: https://lytedev.io
my_hdr X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=get&search=0x5B2020A0F9921EF4
set from="daniel@lytedev.io"
set realname="Daniel Flanagan"
set signature="$DOTFILES_PATH/email/mutt/signature"

View file

@ -0,0 +1,2 @@
Daniel Flanagan
lytedev.io

7
email/mutt/link.bash Executable file
View file

@ -0,0 +1,7 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
rm -rf "$HOME/.mutt"
ln -s "$DOTFILES_PATH/email/mutt/config" "$HOME/.mutt"

View file

@ -44,8 +44,12 @@ if [ -t 0 ]; then
alias gp="git push"
alias gac="git add -A && git commit -m"
# browser aliases
alias qutebrowser="qutebrowser --backend webengine"
# networking aliases
alias p="ping 8.8.8.8"
alias wifi="sudo systemctl start netctl-auto@$(for wli in /sys/class/net/wl*; do echo $(basename $wli); break; done)"
# emacs aliases
alias emacs="emacs -nw"
@ -53,19 +57,29 @@ if [ -t 0 ]; then
# arch aliases
alias archupdate="pacaur -Syyu --noconfirm --noedit"
# wm aliases
alias startbar="source $DOTFILES_PATH/wm/extras/bar/start.bash"
stopbar() {
if [[ -f "$BAR_PID_FILE" ]]; then
echo
kill -SIGINT $(cat "$BAR_PID_FILE")
rm -f "$BAR_PID_FILE"
killall lemonbar
else
echo "Bar is not running."
fi
}
export -f stopbar
# wm aliases
startbar() {
if [[ -f "$BAR_PID_FILE" ]]; then
stopbar
fi
"$BAR_PATH/start.bash"
echo $! > "$BAR_PID_FILE"
bg
disown
}
export -f startbar
# misc aliases
alias keyrepeat="xset r rate 250 80"
@ -104,13 +118,17 @@ if [ -t 0 ]; then
# man pages with vim
vman() {
vim -c "SuperMan $*"
if command -v nvim >/dev/null 2>&1; then
nvim -c "SuperMan $*"
else
vim -c "SuperMan $*"
fi
if [ "$?" != "0" ]; then
echo "No manual entry for $*"
fi
}
alias _man="man"
alias _man="\\man"
alias man="vman"
# save the current directory for later retrieval
@ -119,7 +137,7 @@ if [ -t 0 ]; then
if [[ -n $1 ]]; then
addon="-$1"
fi
echo "$PWD" > "$DOTFILES_PATH/cwd$addon.tmp"
echo "$PWD" > "$DOTFILES_PATH/env/sh/cwd$addon.tmp"
}
export -f scwd
bind '"\C-s"':"\"scwd\C-m\""
@ -130,7 +148,7 @@ if [ -t 0 ]; then
if [[ -n $1 ]]; then
addon="-$1"
fi
cd $(cat $DOTFILES_PATH/cwd$addon.tmp)
cd $(cat "$DOTFILES_PATH/env/sh/cwd$addon.tmp")
}
export -f gcwd
bind '"\C-g"':"\"gcwd\C-m\""

View file

23
env/sh/link.bash vendored Executable file
View file

@ -0,0 +1,23 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source $DIR/variables.bash
mkdir -p "$HOME/.tmux/layouts"
MODULE_PATH="$DOTFILES_PATH/env/sh"
rm -f "$HOME/.bashrc"
rm -f "$HOME/.bash_profile"
rm -f "$HOME/.tmux.conf"
rm -f "$HOME/.tmux/layouts/dev.tmux"
rm -f "$HOME/.inputrc"
ln -s "$MODULE_PATH/bashrc" "$HOME/.bashrc"
ln -s "$MODULE_PATH/bash_profile" "$HOME/.bash_profile"
ln -s "$MODULE_PATH/tmux.conf" "$HOME/.tmux.conf"
ln -s "$MODULE_PATH/layout_dev.tmux" "$HOME/.tmux/layouts/dev.tmux"
ln -s "$MODULE_PATH/inputrc" "$HOME/.inputrc"
sed -i "/export DOTFILES_PATH/c export DOTFILES_PATH=\"$DIR\"" "$HOME/.bashrc"
echo "You should re-source ~/.bashrc ;)"

View file

View file

@ -11,13 +11,12 @@ source "$DOTFILES_PATH/scripts/get_x_fonts.sh"
bspc config normal_border_color "#$(get_color 01)"
bspc config focused_border_color "#$(get_color 0D)"
bspc config active_border_color "#$(get_color 0C)"
bspc config active_border_color "#$(get_color 09)"
bspc config presel_feedback_color "#$(get_color 04)"
bspc config border_width "$BORDER_WIDTH"
bspc config split_ratio 0.50
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config focus_by_distance true
bspc config window_gap "$WINDOW_GAP"

View file

12
env/wm/extras/bar/colors.bash vendored Normal file
View file

@ -0,0 +1,12 @@
export COLOR_FOREGROUND="#$(get_color 05 | awk '{print toupper($0)}')"
export COLOR_DARK="#$(get_color 02 | awk '{print toupper($0)}')"
export COLOR_BACKGROUND="#$(get_color 00 | awk '{print toupper($0)}')"
export COLOR_HIGHLIGHT="#$(get_color 0D | awk '{print toupper($0)}')"
export COLOR_URGENT="#$(get_color 08 | awk '{print toupper($0)}')"
export COLOR_S1="#$(get_color 0E | awk '{print toupper($0)}')"
export COLOR_S2="#$(get_color 0F | awk '{print toupper($0)}')"
export COLOR_S3="#$(get_color 0D | awk '{print toupper($0)}')"
export COLOR_S4="#$(get_color 0A | awk '{print toupper($0)}')"
export COLOR_S5="#$(get_color 09 | awk '{print toupper($0)}')"

View file

@ -1,13 +1,12 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
# export BAR_LOG="$PWD/bar.log"
# echo -e "BEGIN BAR LOG\n" > "$BAR_LOG"
reload_colors() {
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
source "$BAR_PATH/colors.bash"
}
# trap reload_colors SIGUSR1
@ -16,17 +15,23 @@ export MODULE_MATCH=()
export MODULE_CALLBACK=()
export MODULE_DATA=()
export MODULE_CONTENT=()
export MODULE_INIT=()
export MODULE_PIDS=""
register_bar_module() {
MODULE_MATCH[$1]=$2
MODULE_CALLBACK[$1]=$3
MODULE_DATA[$1]=
MODULE_CONTENT[$1]=
# echo -e "Registered Bar Module: $1 $2 $3" >> "$BAR_LOG"
MODULE_INIT[$1]=$4
${MODULE_INIT[$1]} &
PID=$!
echo $PID > "$BAR_PATH/modules/$3.pid"
# echo -e "Registered Bar Module: $1 $2 $3 $4 with PID $PID" >> "$BAR_LOG"
}
export -f register_bar_module
for f in "$DOTFILES_PATH/wm/extras/bar/modules/"*-bm.bash; do
for f in "$BAR_PATH/modules/"*-bm.bash; do
source "$f"
done

View file

@ -1,8 +1,7 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
source "$DOTFILES_PATH/wm/extras/bar/modules/module.bash"
source "$BAR_PATH/colors.bash"
PRIORITY=25000
@ -51,7 +50,12 @@ bar_module_bspwm() {
echo -e "$content"
}
export -f bar_module_bspwm
register_bar_module "$PRIORITY" "$MATCH" "bar_module_bspwm"
bspc subscribe all > "$BAR_FIFO" &
bar_module_bspwm_updater()
{
bspc subscribe all > "$BAR_FIFO"
}
export -f bar_module_bspwm_updater
register_bar_module "$PRIORITY" "$MATCH" "bar_module_bspwm" "bar_module_bspwm_updater"

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
source "$BAR_PATH/colors.bash"
PRIORITY=38000
@ -13,7 +13,6 @@ bar_module_clock() {
}
export -f bar_module_clock
register_bar_module "$PRIORITY" "$MATCH" "bar_module_clock"
bar_module_clock_updater() {
while true; do
@ -21,5 +20,6 @@ bar_module_clock_updater() {
sleep 1
done
}
bar_module_clock_updater &
export -f bar_module_clock_updater
register_bar_module "$PRIORITY" "$MATCH" "bar_module_clock" "bar_module_clock_updater"

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
source "$BAR_PATH/colors.bash"
PRIORITY=35000
@ -11,9 +11,7 @@ MATCH="$MATCH_PREFIX*"
bar_module_date() {
echo -e "%{T-}%{r}%{F$COLOR_S2}${1:7}%{F-}"
}
export -f bar_module_date
register_bar_module "$PRIORITY" "$MATCH" "bar_module_date"
bar_module_date_updater() {
while true; do
@ -21,5 +19,6 @@ bar_module_date_updater() {
sleep 60
done
}
bar_module_date_updater &
export -f bar_module_date_updater
register_bar_module "$PRIORITY" "$MATCH" "bar_module_date" "bar_module_date_updater"

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
source "$BAR_PATH/colors.bash"
PRIORITY=12000
@ -11,9 +11,7 @@ MATCH="$MATCH_PREFIX*"
bar_module_pacaur() {
echo -e "%{T-}%{F$COLOR_DARK}pac %{F$COLOR_S1}${1:9}%{F-}"
}
export -f bar_module_pacaur
register_bar_module "$PRIORITY" "$MATCH" "bar_module_pacaur"
bar_module_pacaur_updater() {
while true; do
@ -26,6 +24,8 @@ bar_module_pacaur_updater() {
fi
done
}
bar_module_pacaur_updater &
export -f bar_module_pacaur_updater
register_bar_module "$PRIORITY" "$MATCH" "bar_module_pacaur" "bar_module_pacaur_updater"
echo -e "$MATCH_PREFIX"?? > "$BAR_FIFO"

0
env/wm/extras/bar/run_bar.bash vendored Executable file
View file

View file

@ -10,11 +10,15 @@ function killbar() {
else
bspc config -m $(bspc query -M | head -n 1) bottom_padding "0"
fi
for f in $(ls "$BAR_PATH"/modules/*.pid 2>/dev/null); do
# echo "KILLING MODULE PROCESS $f WITH PID $(cat "$f")"
# kill -SIGTERM $(cat "$f")
rm "$f"
done
kill $!
# kill -SIGTERM $BARPID
}
if [ -e "$BAR_PID_FILE" ]; then
killbar
fi
export -f killbar
trap killbar INT TERM QUIT EXIT
@ -38,10 +42,7 @@ else
BAR_B="-b"
fi
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
source "$BAR_PATH/colors.bash"
cat "$BAR_FIFO" | "$DOTFILES_PATH/wm/extras/bar/formatter.bash" | lemonbar $BAR_B -g \
"$WIDTH"x"$BAR_HEIGHT"+"$BAR_MARGIN"+"$POS_Y" -u "$BAR_BORDER_WIDTH" -f \
"$BAR_FONT_FAMILY" -F "$COLOR_FOREGROUND" -B "$COLOR_BACKGROUND" -n "$BAR_WID"
killbar
cat "$BAR_FIFO" | "$BAR_PATH/formatter.bash" | \
lemonbar $BAR_B -g "$WIDTH"x"$BAR_HEIGHT"+"$BAR_MARGIN"+"$POS_Y" -u "$BAR_BORDER_WIDTH" -f "$BAR_FONT_FAMILY" -F "$COLOR_FOREGROUND" -B"$COLOR_BACKGROUND" -n "$BAR_WID"

15
env/wm/link.bash vendored Executable file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
MODULE_PATH="$DOTFILES_PATH/env/wm"
mkdir -p "$HOME/.config/bspwm"
mkdir -p "$HOME/.config/sxhkd"
rm -f "$HOME/.config/bspwm/bspwmrc"
rm -f "$HOME/.config/sxhkd/sxhkdrc"
ln -s "$MODULE_PATH/bspwmrc" "$HOME/.config/bspwm/bspwmrc"
ln -s "$MODULE_PATH/sxhkdrc" "$HOME/.config/sxhkd/sxhkdrc"

View file

@ -28,6 +28,10 @@ super + shift + {s,f}
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the next floating node
super + ctrl + f
bspc node -f next.floating
# swap positions with the previous node
super + apostrophe
bspc node -s last
@ -98,22 +102,45 @@ super + @button{1-3}
# change node gap and desktop padding
super + plus
bspc config -d focused node_gap $((`bspc config -d focused node_gap` + 5 ))
bspc config -d focused window_gap $((`bspc config -d focused window_gap` + 5 ))
super + equal
bspc config -m $(bspc query -M | head -n 1) top_padding $BAR_HEIGHT; bspc config -d focused node_gap $node_GAP
bspc config -m $(bspc query -M | head -n 1) top_padding $TOP_BAR_PADDING; bspc config -m $(bspc query -M | head -n 1) bottom_padding $BOTTOM_BAR_PADDING; bspc config -d focused window_gap $WINDOW_GAP
super + minus
bspc config -d focused node_gap $((`bspc config -d focused node_gap` - 5 ))
bspc config -d focused window_gap $((`bspc config -d focused window_gap` - 5 ))
super + alt + r
bspc config -m $(bspc query -M | head -n 1) top_padding $BAR_HEIGHT; bspc config -d focused node_gap 0
bspc config -m $(bspc query -M | head -n 1) bottom_padding $BOTTOM_BAR_PADDING; bspc config -m $(bspc query -M | head -n 1) top_padding $TOP_BAR_PADDING; bspc config -d focused window_gap $WINDOW_GAP
super + alt + equal
bspc config -d focused bottom_padding 0; bspc config -d focused top_padding 0; bspc config -d focused left_padding 0; bspc config -d focused right_padding 0
super + alt + plus
bspwm_padding +5
bspc config -d focused bottom_padding $(expr $(bspc config -d focused bottom_padding) + 5); bspc config -d focused top_padding $(expr $(bspc config -d focused top_padding) + 5); bspc config -d focused left_padding $(expr $(bspc config -d focused left_padding) + 5); bspc config -d focused right_padding $(expr $(bspc config -d focused right_padding) + 5)
super + ctrl + alt + k
bspc config -d focused bottom_padding $(expr $(bspc config -d focused bottom_padding) - 5); bspc config -d focused top_padding $(expr $(bspc config -d focused top_padding) - 5)
super + ctrl + alt + j
bspc config -d focused bottom_padding $(expr $(bspc config -d focused bottom_padding) + 5); bspc config -d focused top_padding $(expr $(bspc config -d focused top_padding) + 5)
super + ctrl + alt + h
bspc config -d focused left_padding $(expr $(bspc config -d focused left_padding) - 5); bspc config -d focused right_padding $(expr $(bspc config -d focused right_padding) - 5)
super + ctrl + alt + l
bspc config -d focused left_padding $(expr $(bspc config -d focused left_padding) + 5); bspc config -d focused right_padding $(expr $(bspc config -d focused right_padding) + 5)
super + alt + plus
bspc config -d focused bottom_padding $(expr $(bspc config -d focused bottom_padding) + 5); bspc config -d focused top_padding $(expr $(bspc config -d focused top_padding) + 5); bspc config -d focused left_padding $(expr $(bspc config -d focused left_padding) + 5); bspc config -d focused right_padding $(expr $(bspc config -d focused right_padding) + 5)
super + ctrl + alt + space
bspc config -d focused bottom_padding 200; bspc config -d focused top_padding 200; bspc config -d focused left_padding 400; bspc config -d focused right_padding 400
super + alt + minus
bspwm_padding -5
bspc config -d focused bottom_padding $(expr $(bspc config -d focused bottom_padding) - 5)
# wm-independant shortcuts

View file

31
env/x/link.bash vendored Executable file
View file

@ -0,0 +1,31 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
MODULE_PATH="$DOTFILES_PATH/env/x"
mkdir -p "$HOME/.config/gtk-3.0"
rm -f "$HOME/.xinitrc"
rm -f "$HOME/.Xresources"
rm -f "$HOME/.gtkrc-2.0"
rm -f "$HOME/.config/gtk-3.0/settings.ini"
ln -s "$MODULE_PATH/xinitrc" "$HOME/.xinitrc"
ln -s "$MODULE_PATH/xresources" "$HOME/.Xresources"
ln -s "$MODULE_PATH/gtk3settings.ini" "$HOME/.config/gtk-3.0/settings.ini"
ln -s "$MODULE_PATH/gtk2rc" "$HOME/.gtkrc-2.0"
sudo mkdir -p /root/.gtk-3.0/
sudo mkdir -p /root/.config/gtk-3.0/
sudo rm -f "/root/.gtkrc-2.0"
sudo rm -f "/root/.gtk-3.0/settings.ini"
sudo rm -f "/root/.config/gtk-3.0/settings.ini"
sudo ln -s "$MODULE_PATH/gtk2rc" "/root/.gtkrc-2.0"
sudo ln -s "$MODULE_PATH/gtk3settings.ini" "/root/.gtk-3.0/settings.ini"
sudo ln -s "$MODULE_PATH/gtk3settings.ini" "/root/.config/gtk-3.0/settings.ini"
sudo rm -f "/etc/udev/rules.d/90-usb-device-plugin.rules"
sudo ln -s "$MODULE_PATH/udev_rules/90-usb-device-plugin.rules" "/etc/udev/rules.d/90-usb-device-plugin.rules"
source "$MODULE_PATH/xloadresources"

View file

@ -4,7 +4,7 @@ if [ -f ~/.fehbg ]; then
~/.fehbg &
fi
source "$DOTFILES_PATH/x/xloadresources"
source "$DOTFILES_PATH/env/x/xloadresources"
source "$DOTFILES_PATH/variables.bash"
# keyrepeat settings
@ -17,10 +17,12 @@ xset s off &
# start the bar if we want it
if [ "$BAR_ON_XINIT" -eq 1 ]; then
"$DOTFILES_PATH/wm/extras/bar/start.bash" &
"$BAR_PATH/start.bash" &
fi
# fire up wm
unclutter &
sxhkd &
urxvtd &
exec bspwm

View file

View file

@ -1,8 +0,0 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source "$DIR/variables.bash"
rm -f "$HOME/.gitconfig"
ln -s "$DOTFILES_PATH/git/gitconfig" "$HOME/.gitconfig"

View file

@ -1,9 +0,0 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source "$DIR/variables.bash"
rm -rf "$HOME/.weechat/weechat.conf"
mkdir -p "$HOME/.weechat/"
ln -s "$DOTFILES_PATH/irc/weechat.conf" "$HOME/.weechat/weechat.conf"

View file

@ -3,10 +3,12 @@
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/" && pwd)
source "$DIR/variables.bash"
ALERT_AGREEMENT_FILE="$DIR/scripts/agree_to_bootstrap.lock"
# Let user know that this script will delete their current configuration and
# that they should read this script before running. We'll use a lock file so
# the user only needs to agree once.
if [ -f "$DIR/agree_to_bootstrap.lock" ]; then
if [ -f "$ALERT_AGREEMENT_FILE" ]; then
# User agreed already - do nothing
echo "Linking..."
else
@ -16,15 +18,17 @@ else
read -r -p "Are you sure you want to continue? [y/N] " response
response=${response,,} # to_lower
if [[ $response =~ ^(yes|y)$ ]]; then
touch "$DIR/agree_to_bootstrap.lock"
echo "agreed" > "$ALERT_AGREEMENT_FILE"
else
exit 1
fi
fi
source "$DOTFILES_PATH/browser/qutebrowser/link.bash"
source "$DOTFILES_PATH/colors/link.bash"
source "$DOTFILES_PATH/git/link.bash"
source "$DOTFILES_PATH/vim/link.bash"
source "$DOTFILES_PATH/sh/link.bash"
source "$DOTFILES_PATH/x/link.bash"
source "$DOTFILES_PATH/wm/link.bash"
source "$DOTFILES_PATH/misc/irc/link.bash"
source "$DOTFILES_PATH/misc/git/link.bash"
source "$DOTFILES_PATH/editor/nvim/link.bash"
source "$DOTFILES_PATH/env/sh/link.bash"
source "$DOTFILES_PATH/env/x/link.bash"
source "$DOTFILES_PATH/env/wm/link.bash"

8
misc/git/link.bash Executable file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
rm -f "$HOME/.gitconfig"
ln -s "$DOTFILES_PATH/misc/git/gitconfig" "$HOME/.gitconfig"

9
misc/irc/link.bash Executable file
View file

@ -0,0 +1,9 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/../.." && pwd)
source "$DIR/variables.bash"
rm -rf "$HOME/.weechat/weechat.conf"
mkdir -p "$HOME/.weechat/"
ln -s "$DOTFILES_PATH/misc/irc/weechat.conf" "$HOME/.weechat/weechat.conf"

View file

@ -20,7 +20,6 @@ sudo pacman -S \
pacaur -S \
gtk-theme-arc \
google-chrome-dev \
weechat \
ruby \
tcl \
@ -28,12 +27,15 @@ pacaur -S \
libmtp \
gvfs-mtp \
pass \
qutebrowser \
bash-completion \
avr-libc avr-gcc dfu-programmer dfu-util \
reptyr \
fzf \
urxvt-perls-git \
mutt procmail msmtp \
ncmpcpp mpd \
--noconfirm --noedit
sudo ln -s /usr/bin/google-chrome-unstable /usr/bin/chrome
# sudo ln -s /usr/bin/google-chrome-unstable /usr/bin/chrome

5
os/arch_linux/xorg.bash Executable file
View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
sudo pacman -S xorg-xinit xorg-server xorg-xrdb --noconfirm
pacaur -S unclutter-xfixes-git gtk-theme-arc gtk-engine-murrine --noconfirm --noedit

View file

@ -1,22 +0,0 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source $DIR/variables.bash
mkdir -p "$HOME/.tmux/layouts"
rm -f "$HOME/.bashrc"
rm -f "$HOME/.bash_profile"
rm -f "$HOME/.tmux.conf"
rm -f "$HOME/.tmux/layouts/dev.tmux"
rm -f "$HOME/.inputrc"
ln -s "$DOTFILES_PATH/sh/bashrc" "$HOME/.bashrc"
ln -s "$DOTFILES_PATH/sh/bash_profile" "$HOME/.bash_profile"
ln -s "$DOTFILES_PATH/sh/tmux.conf" "$HOME/.tmux.conf"
ln -s "$DOTFILES_PATH/sh/layout_dev.tmux" "$HOME/.tmux/layouts/dev.tmux"
ln -s "$DOTFILES_PATH/sh/inputrc" "$HOME/.inputrc"
sed -i "/export DOTFILES_PATH/c export DOTFILES_PATH=\"$DIR\"" "$HOME/.bashrc"
echo "You should re-source ~/.bashrc ;)"

View file

@ -5,25 +5,38 @@
export DOTFILES_PATH="$HOME/.dotfiles"
export REPOSITORY_PATH="$HOME/Documents/open-source"
export BORDER_WIDTH=1
export WINDOW_GAP=5
export BORDER_WIDTH=3
export BAR_PID_FILE="$DOTFILES_PATH/wm_bar.pid"
export BAR_PATH="$DOTFILES_PATH/env/wm/extras/bar"
export BAR_PID_FILE="$BAR_PATH/wm_bar.pid"
source "$DOTFILES_PATH/scripts/get_x_fonts.sh"
source "$DOTFILES_PATH/scripts/get_color.sh"
export BAR_ON_XINIT=0
export BAR_FIFO="$DOTFILES_PATH/wm_bar_fifo.lock"
export BAR_FIFO="$BAR_PATH/wm_bar_fifo.lock"
export BAR_LOG="$BAR_PATH/wm_bar.log"
export BAR_TOP=0
export BAR_MARGIN=$WINDOW_GAP
export BAR_HEIGHT=20
export BAR_BORDER_WIDTH=1
export BAR_FONT_FAMILY="$PRIMARY_FONT_FAMILY_WITH_SIZE"
export BAR_UNDERLINE=1
# export BAR_MARGIN=$WINDOW_GAP
export BAR_MARGIN=700
export BAR_WID="wmpanel"
export TOP_BAR_PADDING=0
export BOTTOM_BAR_PADDING=0
if [[ $BAR_TOP -eq 0 ]]; then
export BOTTOM_BAR_PADDING=$BAR_HEIGHT
else
export TOP_BAR_PADDING=$BAR_HEIGHT
fi
export WINDOW_GAP=$(expr $WINDOW_GAP - $BORDER_WIDTH)
# load per-device bashrc_env if it exists
if [ -a "$HOME/.bashrc_env" ]; then
. "$HOME/.bashrc_env"
fi

View file

@ -1,3 +0,0 @@
*
!init.vim
!./colors/*.vim

View file

@ -1 +0,0 @@
/home/daniel/.dotfiles/colors/vim

View file

@ -1,10 +0,0 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source "$DIR/variables.bash"
rm -rf "$HOME/.config/nvim"
ln -s "$DOTFILES_PATH/vim/config" "$HOME/.config/nvim"
nvim +PlugInstal +qall

View file

@ -1,12 +0,0 @@
export COLOR_FOREGROUND="#ff$(get_color 05)"
export COLOR_DARK="#ff$(get_color 02)"
export COLOR_BACKGROUND="#ff$(get_color 00)"
export COLOR_HIGHLIGHT="#ff$(get_color 0D)"
export COLOR_URGENT="#ff$(get_color 08)"
export COLOR_S1="#ff$(get_color 0E)"
export COLOR_S2="#ff$(get_color 0F)"
export COLOR_S3="#ff$(get_color 0D)"
export COLOR_S4="#ff$(get_color 0A)"
export COLOR_S5="#ff$(get_color 09)"

View file

@ -1,17 +0,0 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
source "$DOTFILES_PATH/wm/extras/bar/colors.bash"
reserve_bar_module_pid() {
FILE="$DOTFILES_PATH/wm/extras/bar/modules/$1.bm.pid"
if [[ -f "$FILE" ]]; then
return 1
else
echo "Starting bar module $1 witrh PID $!"
$2 &
return 0
fi
}

View file

@ -1,12 +0,0 @@
#!/usr/bin/env bash
source "$DOTFILES_PATH/variables.bash"
"$DOTFILES_PATH/wm/extras/bar/run_bar.bash" &
export BAR_PID=$!
echo "$BAR_PID" > "$BAR_PID_FILE"
echo "Starting bar with PID $BAR_PID"
xdo lower -a wmpanel

View file

@ -1,13 +0,0 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source "$DIR/variables.bash"
mkdir -p "$HOME/.config/bspwm"
mkdir -p "$HOME/.config/sxhkd"
rm -f "$HOME/.config/bspwm/bspwmrc"
rm -f "$HOME/.config/sxhkd/sxhkdrc"
ln -s "$DOTFILES_PATH/wm/bspwmrc" "$HOME/.config/bspwm/bspwmrc"
ln -s "$DOTFILES_PATH/wm/sxhkdrc" "$HOME/.config/sxhkd/sxhkdrc"

View file

@ -1,29 +0,0 @@
#!/usr/bin/env bash
DIR=$(cd "$(dirname "${BASH_SOURCE[0]}" )/.." && pwd)
source "$DIR/variables.bash"
mkdir -p "$HOME/.config/gtk-3.0"
rm -f "$HOME/.xinitrc"
rm -f "$HOME/.Xresources"
rm -f "$HOME/.gtkrc-2.0"
rm -f "$HOME/.config/gtk-3.0/settings.ini"
ln -s "$DOTFILES_PATH/x/xinitrc" "$HOME/.xinitrc"
ln -s "$DOTFILES_PATH/x/xresources" "$HOME/.Xresources"
ln -s "$DOTFILES_PATH/x/gtk3settings.ini" "$HOME/.config/gtk-3.0/settings.ini"
ln -s "$DOTFILES_PATH/x/gtk2rc" "$HOME/.gtkrc-2.0"
sudo mkdir -p /root/.gtk-3.0/
sudo mkdir -p /root/.config/gtk-3.0/
sudo rm -f "/root/.gtkrc-2.0"
sudo rm -f "/root/.gtk-3.0/settings.ini"
sudo rm -f "/root/.config/gtk-3.0/settings.ini"
sudo ln -s "$DOTFILES_PATH/x/gtk2rc" "/root/.gtkrc-2.0"
sudo ln -s "$DOTFILES_PATH/x/gtk3settings.ini" "/root/.gtk-3.0/settings.ini"
sudo ln -s "$DOTFILES_PATH/x/gtk3settings.ini" "/root/.config/gtk-3.0/settings.ini"
sudo rm -f "/etc/udev/rules.d/90-usb-device-plugin.rules"
sudo ln -s "$DOTFILES_PATH/x/udev_rules/90-usb-device-plugin.rules" "/etc/udev/rules.d/90-usb-device-plugin.rules"
source "$DOTFILES_PATH/x/xloadresources"