Merge branch 'master' of http://www.github.com/whatevsz/dotfiles
This commit is contained in:
47
README.rst
Normal file
47
README.rst
Normal file
@@ -0,0 +1,47 @@
|
||||
dotfiles
|
||||
========
|
||||
|
||||
My configuration files.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
1. ``git clone git://github.com:whatevsz/dotfiles ~/dotfiles``
|
||||
2. ``bash ~/dotfiles/scripts/makesymlinks.bash``
|
||||
|
||||
``makesymlinks,bash`` will back up all configuration files that would otherwise
|
||||
be overridden and then symlink the content of all folders specified in $symlink_folders
|
||||
into $HOME or the desired destination given in MAPPING, if present.
|
||||
|
||||
If you want to use a different directory instead of ``~/dotfiles``, just alter the first
|
||||
line and replace ``~/dotfiles`` with the desired destination, and change the line
|
||||
``config_dir="$HOME/dotfiles/"`` in ``scripts/makesymlinks.bash`` accordingly. You can
|
||||
also choose a different folder for the backup of old files (default being ``~/.dotfiles,bak``
|
||||
by altering ``backup_dir`` in ``scripts/makesymlinks.bash`` to your needs.
|
||||
|
||||
Structure
|
||||
---------
|
||||
|
||||
- ``scripts/`` - Scripts for setting up the configuration.
|
||||
- ``MAPPING`` - File that contains mapping directives.
|
||||
- All other folders - These are the folders that contain the configuration files.
|
||||
|
||||
Mapping
|
||||
-------
|
||||
|
||||
If you have configuration folder that is not located directly in $HOME,
|
||||
but some subfolder (~/.config being a popular example), you
|
||||
can tell the setup script to place the contents of that folder into an
|
||||
arbitrary subfolder of $HOME. To do so, place an entry into ``MAPPING``. It has
|
||||
the following format::
|
||||
|
||||
<name of the configuration folder>::<root for that folder relative to $HOME>
|
||||
|
||||
Example::
|
||||
|
||||
terminator::.config/
|
||||
|
||||
This will place the contents of the folder ``dotfiles/terminator`` into ``~/.config/``
|
||||
|
||||
When you provide multiple lines for the same folder, the first one that matches
|
||||
will be used.
|
||||
1
i3/i3/.gitignore
vendored
Normal file
1
i3/i3/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
session.config
|
||||
45
i3/i3/config
45
i3/i3/config
@@ -15,14 +15,6 @@ set $mod Mod4
|
||||
# The default terminal
|
||||
set $terminal terminator
|
||||
|
||||
# Keyboard options
|
||||
set $keyboard_layout de
|
||||
set $keyboard_options nodeadkeys
|
||||
|
||||
# Mouse options
|
||||
set $mouse_repeat_delay 150
|
||||
set $mouse_repeat_speed 25
|
||||
|
||||
# Path to the exit script
|
||||
set $path_i3exit ~/.i3/scripts/i3exit.bash
|
||||
|
||||
@@ -222,45 +214,17 @@ for_window [class="^Xfce4-notifyd$"] floating enable
|
||||
|
||||
for_window [class="^Conky$" ] floating enable
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
mode dock
|
||||
position bottom
|
||||
tray_output primary
|
||||
font pango:DejaVu Sans Mono 8
|
||||
workspace_buttons yes
|
||||
|
||||
colors {
|
||||
background #000000
|
||||
statusline #ffffff
|
||||
separator #666666
|
||||
|
||||
focused_workspace #4c7899 #285577 #ffffff
|
||||
active_workspace #333333 #5f676a #ffffff
|
||||
inactive_workspace #333333 #222222 #888888
|
||||
urgent_workspace #2f343a #900000 #ffffff
|
||||
}
|
||||
|
||||
status_command i3status --config $path_i3status_config
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Start the wallpaper changer.
|
||||
exec --no-startup-id $path_wallchanger $wallpaper_directory $wallpaper_interval > $wallpaper_logfile
|
||||
|
||||
# Set keyboard layout
|
||||
exec --no-startup-id setxkbmap $keyboard_layout $keyboard_options
|
||||
|
||||
# Set key repeat delay
|
||||
exec --no-startup-id xset r rate $mouse_repeat_delay $mouse_repeat_speed
|
||||
|
||||
# Start wicd in tray
|
||||
exec --no-startup-id wicd-gtk --tray
|
||||
|
||||
# Start conky
|
||||
exec --no-startup-id conky
|
||||
#exec --no-startup-id conky
|
||||
|
||||
# Enabling a mode to shutdown, reboot, lock screen and so on
|
||||
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
|
||||
@@ -278,10 +242,3 @@ mode "$mode_system" {
|
||||
}
|
||||
bindsym $mod+Pause mode "$mode_system"
|
||||
bindsym $mod+Shift+Pause exec --no-startup-id $path_i3exit lock
|
||||
|
||||
|
||||
bindsym XF86Sleep exec --no-startup-id $path_i3exit suspend
|
||||
|
||||
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master %5+
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master %5-
|
||||
|
||||
3
i3/i3/config.d/default
Normal file
3
i3/i3/config.d/default
Normal file
@@ -0,0 +1,3 @@
|
||||
bar {
|
||||
status_command i3status
|
||||
}
|
||||
38
i3/i3/config.d/netbook
Normal file
38
i3/i3/config.d/netbook
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
# bind some keys
|
||||
bindsym XF86Sleep exec --no-startup-id $path_i3exit suspend
|
||||
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer set Master %5+
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id amixer set Master %5-
|
||||
|
||||
# start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
# always show at the bottom of the screen
|
||||
mode dock
|
||||
position bottom
|
||||
|
||||
# show a tray area
|
||||
tray_output primary
|
||||
|
||||
# show workspace buttons
|
||||
workspace_buttons yes
|
||||
|
||||
id bar-1
|
||||
|
||||
font pango:DejaVu Sans Mono 8
|
||||
|
||||
colors {
|
||||
background #000000
|
||||
statusline #ffffff
|
||||
separator #666666
|
||||
|
||||
focused_workspace #4c7899 #285577 #ffffff
|
||||
active_workspace #333333 #5f676a #ffffff
|
||||
inactive_workspace #333333 #222222 #888888
|
||||
urgent_workspace #2f343a #900000 #ffffff
|
||||
}
|
||||
|
||||
i3bar_command i3bar
|
||||
status_command i3status --config $path_i3status_config
|
||||
}
|
||||
31
i3/i3/genconfig.bash
Normal file
31
i3/i3/genconfig.bash
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
|
||||
# main configuration file that is always used
|
||||
MAIN_CONF="$HOME/.i3/config"
|
||||
# temporary configuration file used for this session
|
||||
SESSION_CONF="$HOME/.i3/session.config"
|
||||
# directory that contains host specific configuration
|
||||
CONF_DIR="$HOME/.i3/config.d"
|
||||
# file that should be used when no host specific configuration present
|
||||
DEFAULT_CONF="$CONF_DIR/default"
|
||||
|
||||
host_specific_conf="$CONF_DIR/$(hostname).config"
|
||||
|
||||
# if it's a symlink to $MAIN_CONF, cat will fail
|
||||
[[ -f "$SESSION_CONF" ]] && rm "$SESSION_CONF"
|
||||
|
||||
if [[ ! -f "$host_specific_conf" ]] && [[ ! -f "$DEFAULT_CONF" ]]; then
|
||||
# if there is no host-specific configuration and no default one, just use
|
||||
# the main config
|
||||
ln -sf "$MAIN_CONF" "$SESSION_CONF"
|
||||
else
|
||||
# either use the host specific config if present, or the default if not
|
||||
if [[ -f "$host_specific_conf" ]]; then
|
||||
conf_to_use="$host_specific_conf"
|
||||
else
|
||||
conf_to_use="$DEFAULT_CONF"
|
||||
fi
|
||||
cat "$MAIN_CONF" "$conf_to_use" > "$SESSION_CONF"
|
||||
fi
|
||||
|
||||
echo "$SESSION_CONF"
|
||||
@@ -54,7 +54,7 @@ run_watch VPN {
|
||||
}
|
||||
|
||||
tztime local {
|
||||
format = "%Y-%m-%d %H:%M:%S"
|
||||
format = "%a %Y-%m-%d %H:%M:%S"
|
||||
}
|
||||
|
||||
load {
|
||||
|
||||
@@ -6,12 +6,13 @@ config_dir="$HOME/dotfiles/"
|
||||
mapping_file="$config_dir/MAPPING"
|
||||
|
||||
# backup directory, files that would otherwise be overwritten go there
|
||||
backup_dir="$HOME/dotfiles.bak/"
|
||||
backup_dir="$HOME/.dotfiles.bak/"
|
||||
|
||||
# the following folders inside $config_dir will be inspected and the
|
||||
# contents symlinked:
|
||||
symlink_folders="bash git i3 vim zsh conky terminator"
|
||||
symlink_folders='bash git i3 vim zsh conky terminator x'
|
||||
|
||||
MAPPING_SEPARATOR='::'
|
||||
|
||||
path_combine()
|
||||
{
|
||||
@@ -24,7 +25,7 @@ DEFAULT_ROOT="$HOME"
|
||||
# folder::root
|
||||
get_mapping()
|
||||
{
|
||||
entry="$(grep -E "^$1::.+$" "$mapping_file" | head -n1 | grep -Eo "::.+$" | cut -c 3-)"
|
||||
entry="$(grep -E "^$1$MAPPING_SEPARATOR.+$" "$mapping_file" | head -n1 | grep -Eo "$MAPPING_SEPARATOR.+$" | cut -c 3-)"
|
||||
echo "$entry"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,24 @@
|
||||
[global_config]
|
||||
enabled_plugins = ,
|
||||
[keybindings]
|
||||
[profiles]
|
||||
[[default]]
|
||||
palette = "#073642:#dc322f:#859900:#b58900:#268bd2:#d33682:#2aa198:#eee8d5:#002b36:#cb4b16:#586e75:#657b83:#839496:#6c71c4:#93a1a1:#fdf6e3"
|
||||
font = Deja Vu Sans Mono 10
|
||||
background_image = None
|
||||
urgent_bell = True
|
||||
use_system_font = False
|
||||
foreground_color = "#839496"
|
||||
show_titlebar = False
|
||||
antialias = True
|
||||
copy_on_selection = True
|
||||
background_color = "#002b36"
|
||||
[layouts]
|
||||
[[default]]
|
||||
[[[child1]]]
|
||||
type = Terminal
|
||||
parent = window0
|
||||
profile = default
|
||||
[[[window0]]]
|
||||
type = Window
|
||||
parent = ""
|
||||
|
||||
209
vim/vimrc
209
vim/vimrc
@@ -1,81 +1,158 @@
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Filename: .vimrc "
|
||||
" Maintainer: Michael J. Smalley <michaeljsmalley@gmail.com> "
|
||||
" URL: http://github.com/michaeljsmalley/dotfiles "
|
||||
" "
|
||||
" "
|
||||
" Sections: "
|
||||
" 01. General ................. General Vim behavior "
|
||||
" 02. Events .................. General autocmd events "
|
||||
" 03. Theme/Colors ............ Colors, fonts, etc. "
|
||||
" 04. Vim UI .................. User interface behavior "
|
||||
" 05. Text Formatting/Layout .. Text, tab, indentation related "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" 01 important
|
||||
" 02 moving around, searching and patterns
|
||||
" 03 tags
|
||||
" 04 displaying text
|
||||
" 05 syntax, highlighting and spelling
|
||||
" 06 multiple windows
|
||||
" 07 multiple tab pages
|
||||
" 08 terminal
|
||||
" 09 using the mouse
|
||||
" 10 printing
|
||||
" 11 messages and info
|
||||
" 12 selecting text
|
||||
" 13 editing text
|
||||
" 14 tabs and indenting
|
||||
" 15 folding
|
||||
" 16 diff mode
|
||||
" 17 mapping
|
||||
" 18 reading and writing files
|
||||
" 19 the swap file
|
||||
" 20 command line editing
|
||||
" 21 executing external commands
|
||||
" 22 running make and jumping to errors
|
||||
" 23 language specific
|
||||
" 24 multi-byte characters
|
||||
" 25 various
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" 01. General "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
set nocompatible " get rid of Vi compatibility mode. SET FIRST!
|
||||
set nocompatible
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" 02. Events "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
filetype plugin indent on " filetype detection[ON] plugin[ON] indent[ON]
|
||||
" setup of vundle
|
||||
filetype off
|
||||
set rtp+=~/.vim/bundle/vundle/
|
||||
call vundle#rc()
|
||||
Bundle 'gmarik/vundle'
|
||||
|
||||
" In Makefiles DO NOT use spaces instead of tabs
|
||||
autocmd FileType make setlocal noexpandtab
|
||||
" In Ruby files, use 2 spaces instead of 4 for tabs
|
||||
autocmd FileType ruby setlocal sw=2 ts=2 sts=2
|
||||
filetype plugin indent on
|
||||
|
||||
" Enable omnicompletion (to use, hold Ctrl+X then Ctrl+O while in Insert mode.
|
||||
set ofu=syntaxcomplete#Complete
|
||||
" solarized color theme
|
||||
Bundle 'altercation/vim-colors-solarized'
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" 03. Theme/Colors "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
set t_Co=256 " enable 256-color mode.
|
||||
syntax enable " enable syntax highlighting (previously syntax on).
|
||||
"colorscheme molokai " set colorscheme
|
||||
" setup for the solarized color theme
|
||||
set background=dark
|
||||
let g:solarized_termcolors=16
|
||||
let g:solarized_termtrans=1
|
||||
let g:solarized_contrase="normal"
|
||||
let g:solarized_visibility="normal"
|
||||
syntax enable
|
||||
colorscheme solarized
|
||||
|
||||
" Prettify JSON files
|
||||
autocmd BufRead,BufNewFile *.json set filetype=json
|
||||
autocmd Syntax json sou ~/.vim/syntax/json.vim
|
||||
set mouse=a " enable mouse support
|
||||
set mousehide " hide the mouse when typing
|
||||
|
||||
" Prettify Vagrantfile
|
||||
autocmd BufRead,BufNewFile Vagrantfile set filetype=ruby
|
||||
set history=1000 " history length for commands, defaults to
|
||||
" 20
|
||||
|
||||
" Highlight characters that go over 80 columns
|
||||
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
|
||||
match OverLength /\%81v.\+/
|
||||
set nobackup " do not create a backup
|
||||
set nowritebackup
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" 04. Vim UI "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
set number " show line numbers
|
||||
set cul " highlight current line
|
||||
set laststatus=2 " last window always has a statusline
|
||||
set nohlsearch " Don't continue to highlight searched phrases.
|
||||
set incsearch " But do highlight as you type your search.
|
||||
set ignorecase " Make searches case-insensitive.
|
||||
set ruler " Always show info along bottom.
|
||||
set showmatch
|
||||
set statusline=%<%f\%h%m%r%=%-20.(line=%l\ \ col=%c%V\ \ totlin=%L%)\ \ \%h%m%r%=%-40(bytval=0x%B,%n%Y%)\%P
|
||||
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" 05. Text Formatting/Layout "
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
set autoindent " auto-indent
|
||||
set tabstop=4 " tab spacing
|
||||
set softtabstop=4 " unify
|
||||
set shiftwidth=4 " indent/outdent by 4 columns
|
||||
set shiftround " always indent/outdent to the nearest tabstop
|
||||
set expandtab " use spaces instead of tabs
|
||||
set smarttab " use tabs at the start of a line, spaces elsewhere
|
||||
set nowrap " don't wrap text
|
||||
set showmode " show the current mode
|
||||
set cursorline " highlight the current line
|
||||
set number " enable linenumbers
|
||||
set numberwidth=2 " only use as many columns for the line
|
||||
" numbers as necessary
|
||||
set relativenumber " show file numbers relative to the current
|
||||
" line instead of absolute ones, but still
|
||||
" the absolute linenumber on the current
|
||||
" line due to 'number' being set
|
||||
set showmatch " show matching brackets/parentheses
|
||||
set incsearch " show matches while typing in a search
|
||||
set hlsearch " highlight matches in a search
|
||||
|
||||
match ErrorMsg '\s\+$' " mark trailing whitespace
|
||||
set ignorecase " ignore case when only searching for
|
||||
" lowercase
|
||||
set smartcase " letters, case sensitive otherwis
|
||||
|
||||
set foldenable " auto-fold code
|
||||
|
||||
set wrap " wrap text
|
||||
set linebreak
|
||||
|
||||
set backspace=indent,eol,start " allowing backspacing over autoindent,
|
||||
" line breaks and start of insert
|
||||
|
||||
set encoding=utf-8 " set the encoding
|
||||
|
||||
|
||||
set showmode " show current mode in the status line
|
||||
|
||||
set swapfile " use a swapfile
|
||||
set updatecount=200 " default, number of characters that have
|
||||
" to be typed before the swapfile is
|
||||
" written to disk
|
||||
set updatetime=10000 " time in milliseconds after the swapfile
|
||||
" is written to disk
|
||||
|
||||
set title " let vim set the title of the window
|
||||
set titlestring="" " use default titlestring
|
||||
|
||||
|
||||
|
||||
set autoread " automatically reload a file when it was
|
||||
" changed outside of vim
|
||||
|
||||
set gdefault " apply replace patterns to the whole line
|
||||
" by default
|
||||
|
||||
set tabstop=4 " one tab equals 4 spaces
|
||||
set softtabstop=4 " makes the spaces feel like real tabs
|
||||
set shiftwidth=4 " one indent level equals 4 spaces
|
||||
set expandtab " expand tabs to spaces
|
||||
set autoindent " copy indent from current line when
|
||||
" starting a new one
|
||||
set smartindent " smart indenting for C-like languages
|
||||
set smarttab " use shiftwidth when tabbing in front of
|
||||
" a line instead of tabsstop/softtabstop
|
||||
|
||||
set undofile " use an undo file
|
||||
set undodir=~/.vim/backups " store undo files in a fixed directory
|
||||
" instead of the current directory
|
||||
set undolevels=1000 " undo a maximum of 1000 changes
|
||||
set undoreload=10000 " save the whole buffer for undo when
|
||||
" reloading it
|
||||
|
||||
|
||||
set foldmethod=indent " fold according to indet
|
||||
set foldnestmax=2 " fold a maximum of 2 levels
|
||||
set nofoldenable " unfold everything by default
|
||||
|
||||
set scrolloff=4 " show context at the screen edges
|
||||
|
||||
|
||||
set showcmd " show (partial) command in the command line
|
||||
set hidden " buffers can exist without a window
|
||||
|
||||
set ttyfast " enhance smoothness
|
||||
set ruler " show position in status line
|
||||
|
||||
set wildmenu " show a menu when autocompleting
|
||||
set wildmode=list:longest " automatically complete up to the level
|
||||
" of ambiguity
|
||||
|
||||
set autochdir " automatically change to the directory that
|
||||
" contains the file that is edited
|
||||
|
||||
let mapleader = ","
|
||||
|
||||
nnoremap / /\v
|
||||
vnoremap / /\v
|
||||
nnoremap <leader><space> :noh<cr>
|
||||
nnoremap <tab> %
|
||||
vnoremap <tab> %
|
||||
|
||||
nnoremap j gj
|
||||
nnoremap k gk
|
||||
|
||||
" Removes trailing spaces
|
||||
function! TrimWhiteSpace()
|
||||
%s/\s\+$//e
|
||||
endfunction
|
||||
|
||||
36
x/xinitrc
Executable file
36
x/xinitrc
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||
for f in /etc/X11/xinit/xinitrc.d/*; do
|
||||
[ -x "$f" ] && . "$f"
|
||||
done
|
||||
unset f
|
||||
fi
|
||||
|
||||
[ -f /etc/xprofile ] && source /etc/xprofile
|
||||
[ -f ~/.xprofile ] && source ~/.xprofile
|
||||
|
||||
|
||||
# keyboard options
|
||||
keyboard_layout=de
|
||||
keyboard_options= nodeadkeys
|
||||
keyboard_repeat_delay=150
|
||||
keyboard_repeat_speed=30
|
||||
|
||||
# execute the host-specific .xinitrc-addition
|
||||
hostfile="$HOME/.xinitrc.d/$(hostname).xinitrc"
|
||||
[[ -f "$hostfile" ]] && bash "$hostfile" &
|
||||
|
||||
# set keyboard layout
|
||||
setxkbmap $keyboard_layout $keyboard_options
|
||||
|
||||
# set key repeat delay
|
||||
xset r rate $keyboard_repeat_delay $keyboard_repeat_speed
|
||||
|
||||
|
||||
case $1 in
|
||||
*)
|
||||
SESSION_CONF=$( bash "$HOME/.i3/genconfig.bash")
|
||||
exec i3 -c "$SESSION_CONF"
|
||||
;;
|
||||
esac
|
||||
4
x/xinitrc.d/netbook.xinitrc
Executable file
4
x/xinitrc.d/netbook.xinitrc
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
# enable vertical edge scrolling
|
||||
synclient VertEdgeScroll=1
|
||||
Reference in New Issue
Block a user