better portable neovim config, link neovim config to vim, start on bar stuff

This commit is contained in:
Daniel Flanagan 2017-02-08 13:05:01 -06:00
parent 3723faea0c
commit adc70176b6
3 changed files with 459 additions and 59 deletions

369
de/bar/polybar-config Normal file
View file

@ -0,0 +1,369 @@
;=====================================================
;
; To learn more about how to configure Polybar
; go to https://github.com/jaagr/polybar
;
; The README contains alot of information
;
;=====================================================
[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/example]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1
modules-left = bspwm
modules-center = mpd
modules-right = filesystem xbacklight volume xkeyboard memory cpu battery temperature date powermenu
tray-position = right
tray-padding = 2
;tray-transparent = true
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
[module/i3]
type = internal/i3
format = <label-state> <label-mode>
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format = <label> <bar>
label = BL
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
[module/wlan]
type = internal/network
interface =
interval = 3.0
format-connected = <ramp-signal> <label-connected>
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface =
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
[module/volume]
type = internal/volume
format-volume = <label-volume> <bar-volume>
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
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-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffb52a
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format = <ramp> <label>
format-underline = #f50a4d
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
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 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini

40
setup
View file

@ -31,27 +31,31 @@ fi
# TODO: make sure we have an even number, here # TODO: make sure we have an even number, here
links=( links=(
# desktop environment files # desktop environment files
"$dfp/de/bspwmrc" "$XDG_CONFIG_HOME/bspwm/bspwmrc" "$dfp/de/bspwmrc" "$XDG_CONFIG_HOME/bspwm/bspwmrc"
"$dfp/de/sxhkdrc" "$XDG_CONFIG_HOME/sxhkd/sxhkdrc" "$dfp/de/sxhkdrc" "$XDG_CONFIG_HOME/sxhkd/sxhkdrc"
"$dfp/de/xresources" "$HOME/.Xresources" "$dfp/de/xresources" "$HOME/.Xresources"
"$dfp/de/xinitrc" "$HOME/.xinitrc" "$dfp/de/xinitrc" "$HOME/.xinitrc"
"$dfp/de/xprofile" "$HOME/.xprofile" "$dfp/de/xprofile" "$HOME/.xprofile"
"$dfp/common/colors/xresources" "$HOME/.Xresources.colors" "$dfp/common/colors/xresources" "$HOME/.Xresources.colors"
# bar files
"$dfp/de/bar/polybar-config" "$XDG_CONFIG_HOME/polybar/example"
# shell files # shell files
"$dfp/shell/bashrc" "$HOME/.bashrc" "$dfp/shell/bashrc" "$HOME/.bashrc"
"$dfp/shell/bash_profile" "$HOME/.bash_profile" "$dfp/shell/bash_profile" "$HOME/.bash_profile"
"$dfp/shell/tmux.conf" "$HOME/.tmux.conf" "$dfp/shell/tmux.conf" "$HOME/.tmux.conf"
"$dfp/shell/tmux-layouts" "$HOME/.tmux/layouts" "$dfp/shell/tmux-layouts" "$HOME/.tmux/layouts"
# text editor files # text editor files
"$dfp/text-editor/neovim" "$XDG_CONFIG_HOME/nvim" "$dfp/text-editor/neovim/" "$XDG_CONFIG_HOME/nvim"
"$dfp/common/colors/vim" "$XDG_CONFIG_HOME/nvim/colors/base16-donokai.vim" "$dfp/text-editor/neovim/" "$HOME/.vim"
"$dfp/text-editor/neovim/init.vim" "$HOME/.vimrc"
"$dfp/common/colors/vim" "$XDG_CONFIG_HOME/nvim/colors/base16-donokai.vim"
) )
source="" source=""
for i in "${links[@]}"; do for i in "${links[@]}"; do
# ls -la --color=auto "$i"
if [ -n "$source" ]; then if [ -n "$source" ]; then
if [ -L "$i" ]; then # if symlink exists, delete it if [ -L "$i" ]; then # if symlink exists, delete it
rm -rf "$i" rm -rf "$i"
@ -59,12 +63,18 @@ for i in "${links[@]}"; do
if [ -f "$i" ]; then # if file exists, delete it if [ -f "$i" ]; then # if file exists, delete it
rm -rf "$i" rm -rf "$i"
fi fi
# NOTE: maybe warn user again?
if [ -d "$i" ]; then # if directory exists, delete it if [ -d "$i" ]; then # if directory exists, delete it
rm -rf "$i" rm -rf "$i"
fi fi
# check if the directory that will contain the link exists
DIR_TO_LINK=$(dirname "$i")
if [ -d "$DIR_TO_LINK" ]; then
:
else
mkdir -p "$DIR_TO_LINK"
fi
ln -s "$source" "$i" ln -s "$source" "$i"
echo "Linked $source to $i." echo "Linked $(basename $source) to $i."
source="" source=""
else else
source="$i" source="$i"

View file

@ -1,8 +1,15 @@
" initial plugin manager " initial plugin manager installation
if empty(glob('~/.config/nvim/autoload/plug.vim')) if has('nvim')
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim if empty(glob('~/.config/nvim/autoload/plug.vim'))
autocmd VimEnter * PlugInstall silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
endif autocmd VimEnter * PlugInstall
endif
else
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall
endif
end
" tell vim to reload the init.vim file when it saves it " tell vim to reload the init.vim file when it saves it
autocmd! BufWritePost init.vim source % autocmd! BufWritePost init.vim source %
@ -20,7 +27,12 @@ function! DoRemote(arg)
endfunction endfunction
" Initialize plugin manager " Initialize plugin manager
call plug#begin('~/.config/nvim/bundle') if has('nvim')
call plug#begin('~/.config/nvim/bundle')
else
call plug#begin('~/.vim/bundle')
endif
" let plugin manager manage itself " let plugin manager manage itself
Plug 'junegunn/vim-plug' Plug 'junegunn/vim-plug'
@ -33,7 +45,7 @@ Plug 'junegunn/vim-plug'
if exists('asmanviewer') if exists('asmanviewer')
let g:prosession_dir = '/dev/null' let g:prosession_dir = '/dev/null'
else else
Plug 'tpope/vim-obsession' " session ease-of-use Plug 'tpope/vim-obsession' " session ease-of-use
Plug 'dhruvasagar/vim-prosession' " more session ease-of-use Plug 'dhruvasagar/vim-prosession' " more session ease-of-use
let g:prosession_dir = '~/.config/nvim/session/' let g:prosession_dir = '~/.config/nvim/session/'
endif endif
@ -131,11 +143,11 @@ autocmd BufNewFile,BufReadPost *.txt setl spell textwidth=0 wrapmargin=0
set tabstop=2 set tabstop=2
set shiftwidth=2 set shiftwidth=2
set softtabstop=2 set softtabstop=2
set expandtab set noexpandtab
set autoindent smartindent set autoindent smartindent
set list set list
set nostartofline set nostartofline
set listchars=trail,tab:\ \ set listchars=trail,tab:\__
" look and feel " look and feel
@ -203,11 +215,11 @@ endfunction
" a toggle-able minimalistic "distraction-free" text editing mode " a toggle-able minimalistic "distraction-free" text editing mode
let s:distractionFreeMode = 0 let s:distractionFreeMode = 0
fun! DistractionFreeModeFunc() fun! DistractionFreeModeFunc()
AirlineToggle AirlineToggle
VimroomToggle VimroomToggle
if s:distractionFreeMode == 0 if s:distractionFreeMode == 0
let s:distractionFreeMode = 1 let s:distractionFreeMode = 1
set nocursorline set nocursorline
set laststatus=0 set laststatus=0
set noshowmode set noshowmode
set noruler set noruler
@ -216,22 +228,22 @@ fun! DistractionFreeModeFunc()
hi NonText ctermfg=black guifg=black hi NonText ctermfg=black guifg=black
else else
let s:distractionFreeMode = 0 let s:distractionFreeMode = 0
set cursorline set cursorline
set showmode set showmode
set ruler set ruler
set laststatus=2 set laststatus=2
set showcmd set showcmd
set number set number
hi NonText ctermfg=gray guifg=gray hi NonText ctermfg=gray guifg=gray
colorscheme base16-donokai colorscheme base16-donokai
endif endif
endfunction endfunction
" prevents normal window navigation and closing while in DistractionFreeMode " prevents normal window navigation and closing while in DistractionFreeMode
fun! CheckCloseDistractionFreeMode() fun! CheckCloseDistractionFreeMode()
if s:distractionFreeMode == 1 if s:distractionFreeMode == 1
call DistractionFreeModeFunc() call DistractionFreeModeFunc()
endif endif
endfunction endfunction
" run the check function every time we leave a window " run the check function every time we leave a window
@ -245,17 +257,22 @@ nnoremap <silent> <Leader>mz :DistractionFreeMode<CR>
:command! ShowSpaceIndents call ShowSpaceIndentation() :command! ShowSpaceIndents call ShowSpaceIndentation()
:command! DistractionFreeMode call DistractionFreeModeFunc() :command! DistractionFreeMode call DistractionFreeModeFunc()
let $vimdir = $HOME.'/.vim'
if has('nvim')
let $vimdir = $HOME.'/.config/nvim'
endif
set hidden " allows buffer switching without saving set hidden " allows buffer switching without saving
set shortmess=I set shortmess=I
set history=1000 set history=1000
set undofile set undofile
set undodir=$HOME/.config/nvim/undo set undodir=$vimdir/undo
set undolevels=1000 set undolevels=1000
set undoreload=10000 set undoreload=10000
set backupdir=$HOME/.config/nvim/backup set backupdir=$vimdir/backup
set directory=$HOME/.config/nvim/backup set directory=$vimdir/backup
set spellfile=$HOME/.config/nvim/spell/en.utf-8.add set spellfile=$vimdir/spell/en.utf-8.add
set ignorecase set ignorecase
set smartcase set smartcase
@ -294,18 +311,20 @@ endif
" no empty buffer on startup " no empty buffer on startup
autocmd VimEnter * nested if bufname('')=='' && line('$') == 1 && col('$')==1 && !&modified | bd % | endif autocmd VimEnter * nested if bufname('')=='' && line('$') == 1 && col('$')==1 && !&modified | bd % | endif
function! TerminalSplit() if has('nvim')
let current_file = @% function! TerminalSplit()
echo current_file let current_file = @%
if match(current_file, "term://*") != -1 echo current_file
split if match(current_file, "term://*") != -1
terminal split
else terminal
vsplit else
vertical resize 80 vsplit
terminal vertical resize 80
endif terminal
endfunction endif
endfunction
endif
" bindings " bindings
@ -319,25 +338,27 @@ command! Q q
" best leader " best leader
let mapleader = "\<Space>" let mapleader = "\<Space>"
" terminal mappings if has('nvim')
" open a terminal split at 80 columns " terminal mappings
nnoremap <C-t> :call TerminalSplit()<CR> " open a terminal split at 80 columns
tnoremap <C-t> <C-\><C-n>:call TerminalSplit()<CR> nnoremap <C-t> :call TerminalSplit()<CR>
tnoremap <C-t> <C-\><C-n>:call TerminalSplit()<CR>
" close the terminal " close the terminal
tnoremap <C-w> <C-\><C-n>:q!<CR> tnoremap <C-w> <C-\><C-n>:q!<CR>
" moving between terminal splits " moving between terminal splits
tnoremap <C-h> <C-\><C-n><C-w>h tnoremap <C-h> <C-\><C-n><C-w>h
tnoremap <C-j> <C-\><C-n><C-w>j tnoremap <C-j> <C-\><C-n><C-w>j
tnoremap <C-k> <C-\><C-n><C-w>k tnoremap <C-k> <C-\><C-n><C-w>k
tnoremap <C-l> <C-\><C-n><C-w>l tnoremap <C-l> <C-\><C-n><C-w>l
endif
" enter insert mode when entering a terminal buffer " enter insert mode when entering a terminal buffer
autocmd BufWinEnter,WinEnter term://* startinsert autocmd BufWinEnter,WinEnter term://* startinsert
" change buffers with leader,tab " change buffers with leader,tab
nnoremap <leader><Tab> :bnext<CR> nnoremap <leader><Tab> :bnext<CR>
nnoremap <leader><S-Tab> :bprevious<CR> nnoremap <leader><S-Tab> :bprevious<CR>
" don't kill vim " don't kill vim