~cyplo/dotfiles

dbeaaa406f9e74a4ee64ec66bc32bb26764f0009 — Cyryl Płotnicki 5 years ago 9b4b0c6 + 4803e44
Merge remote-tracking branch 'origin/master' into fedora24
51 files changed, 510 insertions(+), 510 deletions(-)

A .gitattributes
M .gitconfig_includes.common
M .gitconfig_includes.cygwin
M .gitignore
M .gitmodules
M .kdiff3rc
M .oh-my-zsh
M .setenv
M .travis.yml
D .vim/autoload/pathogen.vim
A .vim/bundle/Vundle.vim
D .vim/bundle/YouCompleteMe
D .vim/bundle/ack.vim
D .vim/bundle/nerdtree
D .vim/bundle/racer
D .vim/bundle/rust.vim
D .vim/bundle/salt-vim
D .vim/bundle/splice
D .vim/bundle/vim-airline
D .vim/bundle/vim-cargo
D .vim/bundle/vim-colors-solarized
D .vim/bundle/vim-ctrlp
D .vim/bundle/vim-dirdiff
D .vim/bundle/vim-dispatch
D .vim/bundle/vim-fugitive
D .vim/bundle/vim-gitgutter
D .vim/bundle/vim-markdown
D .vim/bundle/vim-syntastic
M .vimrc
M .zshrc
M README.md
A appveyor.yml
M common/configure_fresh_system
D cygwin/mintty-colors-solarized
R bunsen/configure_fresh_system => debian/configure_fresh_system
D debian/install_debian.sh
A debian/test_insider
M fedora/configure_fresh_system
A fedora/etc/dnf/automatic.conf
M fedora/install_freecad_dependencies
A fedora/test_insider
A test
M ubuntu/configure_fresh_system
A ubuntu/test_insider
A ubuntu/trusty/configure_fresh_system
A ubuntu/trusty/test_insider
A windows_cygwin/.minttyrc
A windows_cygwin/README.md
A windows_cygwin/bootstrap.ps1
A windows_cygwin/build.bat
A windows_cygwin/build_insider.sh
A .gitattributes => .gitattributes +2 -0
@@ 0,0 1,2 @@
*.sh -crlf


M .gitconfig_includes.common => .gitconfig_includes.common +29 -29
@@ 1,29 1,29 @@
[user]
	name = Cyryl Płotnicki-Chudyk
	email = cyplo@cyplo.net
[color]
	ui = true
[help]
	autocorrect = 1
[push]
	default = simple
[core]
	pager = cat
[alias]
    tree = log --show-signature --color --decorate --date=short --all --graph -n 9
    head = log HEAD -n1
[core]
    autocrlf = false
[diff]
    tool = vimdiff
[difftool]
    prompt = false
[difftool "vimdiff"]
    cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE '+syntax off'
[merge]
    tool = kdiff3
[mergetool]
	keepBackup = false
[pager]
    diff = diff-so-fancy | less --tabs=1,5 -RFX
    show = diff-so-fancy | less --tabs=1,5 -RFX
[user]
    name = Cyryl Płotnicki
    email = cyplo@cyplo.net
[color]
    ui = true
[help]
    autocorrect = 1
[push]
    default = simple
[core]
    pager = cat
[alias]
    tree = log --show-signature --color --decorate --date=short --all --graph -n 8
    head = log HEAD -n1
[core]
    autocrlf = false
[diff]
    tool = vimdiff
[difftool]
    prompt = false
[difftool "vimdiff"]
    cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE '+syntax off'
[merge]
    tool = kdiff3
[mergetool]
    keepBackup = false
[pager]
    diff = diff-so-fancy | less --tabs=1,5 -RFX
    show = diff-so-fancy | less --tabs=1,5 -RFX

M .gitconfig_includes.cygwin => .gitconfig_includes.cygwin +6 -0
@@ 1,3 1,9 @@
[difftool "winmerge"]
    cmd = 'C:/Program Files (x86)/WinMerge/WinMergeU.exe' "$(cygpath -wla $LOCAL)" "$(cygpath -wla $REMOTE)"
    trustExitCode = false
[difftool "p4merge"]
    cmd = 'C:/Program Files/Perforce/p4merge.exe' "$(cygpath -wla $LOCAL)" "$(cygpath -wla $REMOTE)"
    trustExitCode = false
[mergetool "p4merge"]
    cmd = 'C:/Program Files/Perforce/p4merge.exe' "$(cygpath -wla $BASE)" "$(cygpath -wla $LOCAL)" "$(cygpath -wla $REMOTE)" "$(cygpath -wla $MERGED)" 
    trustExitCode = false

M .gitignore => .gitignore +2 -1
@@ 1,3 1,4 @@
.vim/undo/
.vim/.netrwhist

.vim/bundle/*
!.vim/bundle/Vundle.vim

M .gitmodules => .gitmodules +3 -58
@@ 1,70 1,15 @@
[submodule ".vim/bundle/vim-fugitive"]
	path = .vim/bundle/vim-fugitive
	url = http://github.com/tpope/vim-fugitive
[submodule ".vim/bundle/vim-markdown"]
	path = .vim/bundle/vim-markdown
	url = https://github.com/plasticboy/vim-markdown.git
[submodule ".vim/bundle/vim-powerline"]
	path = .vim/bundle/vim-powerline
	url = https://github.com/Lokaltog/vim-powerline.git
[submodule ".vim/bundle/vim-syntastic"]
	path = .vim/bundle/vim-syntastic
	url = https://github.com/scrooloose/syntastic
[submodule "cygwin/mintty-colors-solarized"]
	path = cygwin/mintty-colors-solarized
	url = https://github.com/mavnn/mintty-colors-solarized.git
[submodule ".vim/bundle/salt-vim"]
	path = .vim/bundle/salt-vim
	url = https://github.com/saltstack/salt-vim.git
[submodule ".vim/bundle/vim-airline"]
	path = .vim/bundle/vim-airline
	url = https://github.com/bling/vim-airline
[submodule ".vim/bundle/vim-gitgutter"]
	path = .vim/bundle/vim-gitgutter
	url = https://github.com/airblade/vim-gitgutter
[submodule ".vim/bundle/vim-colors-solarized"]
	path = .vim/bundle/vim-colors-solarized
    url = https://github.com/cyplo/vim-colors-solarized.git

[submodule ".oh-my-zsh"]
	path = .oh-my-zsh
	url = git://github.com/robbyrussell/oh-my-zsh.git
[submodule ".vim/bundle/nerdtree"]
	path = .vim/bundle/nerdtree
	url = https://github.com/scrooloose/nerdtree
[submodule ".vim/bundle/vim-ctrlp"]
	path = .vim/bundle/vim-ctrlp
	url = https://github.com/kien/ctrlp.vim.git
[submodule "tools/icdiff.git"]
	path = tools/icdiff.git
	url = https://github.com/jeffkaufman/icdiff.git
[submodule ".vim/bundle/splice"]
	path = .vim/bundle/splice
	url = https://github.com/sjl/splice.vim.git
[submodule ".vim/bundle/vim-dirdiff"]
	path = .vim/bundle/vim-dirdiff
	url = git://github.com/will133/vim-dirdiff
[submodule "tools/subuser"]
	path = tools/subuser
	url = https://github.com/subuser-security/subuser
[submodule ".oh-my-zsh-plugins/zsh-syntax-highlighting"]
	path = .oh-my-zsh-plugins/zsh-syntax-highlighting
	url = git://github.com/zsh-users/zsh-syntax-highlighting.git
[submodule ".vim/bundle/rust.vim"]
	path = .vim/bundle/rust.vim
	url = https://github.com/rust-lang/rust.vim.git
[submodule ".vim/bundle/racer"]
	path = .vim/bundle/racer
	url = https://github.com/phildawes/racer.git
[submodule ".vim/bundle/YouCompleteMe"]
	path = .vim/bundle/YouCompleteMe
	url = https://github.com/Valloric/YouCompleteMe.git
[submodule ".vim/bundle/ack.vim"]
	path = .vim/bundle/ack.vim
	url = https://github.com/mileszs/ack.vim.git
[submodule ".vim/bundle/vim-cargo"]
	path = .vim/bundle/vim-cargo
	url = https://github.com/timonv/vim-cargo.git
[submodule ".vim/bundle/vim-dispatch"]
	path = .vim/bundle/vim-dispatch
	url = https://github.com/tpope/vim-dispatch.git
[submodule ".vim/bundle/Vundle.vim"]
	path = .vim/bundle/Vundle.vim
	url = https://github.com/VundleVim/Vundle.vim.git

M .kdiff3rc => .kdiff3rc +2 -1
@@ 95,8 95,9 @@ WordWrap=false
[MainWindow]
Height 768=769
Height 900=901
Height 975=976
Height 985=986
State=AAAA/wAAAAD9AAAAAAAAB4AAAANGAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAWAG0AYQBpAG4AVABvAG8AbABCAGEAcgEAAAAA/////wAAAAAAAAAA
State=AAAA/wAAAAD9AAAAAAAAB4AAAANTAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAWAG0AYQBpAG4AVABvAG8AbABCAGEAcgEAAAAA/////wAAAAAAAAAA
ToolBarsMovable=Disabled
Width 1366=1367
Width 1440=1441

M .oh-my-zsh => .oh-my-zsh +1 -1
@@ 1,1 1,1 @@
Subproject commit 83cf8dc16f51babbb0193c5b97e568739c1f40de
Subproject commit 774c4eca6f166be554baf33ff48de9e90e98f16a

M .setenv => .setenv +2 -0
@@ 11,3 11,5 @@ export PATH=$HOME/.cargo/bin:$PATH
export RUST_SRC_PATH=$HOME/dev/rust/src
export EDITOR="vim"
export KEYTIMEOUT=1
export VAGRANT_DEFAULT_PROVIDER=virtualbox


M .travis.yml => .travis.yml +17 -2
@@ 1,4 1,19 @@
language: bash
script: ./travis/configure_fresh_system
language: 
    - bash

script: 
    - ./test 

env:
    - DETECTED_OS=fedora:24
    - DETECTED_OS=debian:jessie
    - DETECTED_OS=ubuntu:trusty
    - DETECTED_OS=ubuntu:xenial

sudo: required

services:
      - docker
git:
    submodules: false


D .vim/autoload/pathogen.vim => .vim/autoload/pathogen.vim +0 -326
@@ 1,326 0,0 @@
" pathogen.vim - path option manipulation
" Maintainer:   Tim Pope <http://tpo.pe/>
" Version:      2.2

" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
"
" For management of individually installed plugins in ~/.vim/bundle (or
" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
" .vimrc is the only other setup necessary.
"
" The API is documented inline below.  For maximum ease of reading,
" :set foldmethod=marker

if exists("g:loaded_pathogen") || &cp
  finish
endif
let g:loaded_pathogen = 1

function! s:warn(msg)
  echohl WarningMsg
  echomsg a:msg
  echohl NONE
endfunction

" Point of entry for basic default usage.  Give a relative path to invoke
" pathogen#incubate() (defaults to "bundle/{}"), or an absolute path to invoke
" pathogen#surround().  For backwards compatibility purposes, a full path that
" does not end in {} or * is given to pathogen#runtime_prepend_subdirectories()
" instead.
function! pathogen#infect(...) abort " {{{1
  for path in a:0 ? reverse(copy(a:000)) : ['bundle/{}']
    if path =~# '^[^\\/]\+$'
      call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
      call pathogen#incubate(path . '/{}')
    elseif path =~# '^[^\\/]\+[\\/]\%({}\|\*\)$'
      call pathogen#incubate(path)
    elseif path =~# '[\\/]\%({}\|\*\)$'
      call pathogen#surround(path)
    else
      call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
      call pathogen#surround(path . '/{}')
    endif
  endfor
  call pathogen#cycle_filetype()
  return ''
endfunction " }}}1

" Split a path into a list.
function! pathogen#split(path) abort " {{{1
  if type(a:path) == type([]) | return a:path | endif
  let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
  return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
endfunction " }}}1

" Convert a list to a path.
function! pathogen#join(...) abort " {{{1
  if type(a:1) == type(1) && a:1
    let i = 1
    let space = ' '
  else
    let i = 0
    let space = ''
  endif
  let path = ""
  while i < a:0
    if type(a:000[i]) == type([])
      let list = a:000[i]
      let j = 0
      while j < len(list)
        let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
        let path .= ',' . escaped
        let j += 1
      endwhile
    else
      let path .= "," . a:000[i]
    endif
    let i += 1
  endwhile
  return substitute(path,'^,','','')
endfunction " }}}1

" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
function! pathogen#legacyjoin(...) abort " {{{1
  return call('pathogen#join',[1] + a:000)
endfunction " }}}1

" Remove duplicates from a list.
function! pathogen#uniq(list) abort " {{{1
  let i = 0
  let seen = {}
  while i < len(a:list)
    if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
      call remove(a:list,i)
    elseif a:list[i] ==# ''
      let i += 1
      let empty = 1
    else
      let seen[a:list[i]] = 1
      let i += 1
    endif
  endwhile
  return a:list
endfunction " }}}1

" \ on Windows unless shellslash is set, / everywhere else.
function! pathogen#separator() abort " {{{1
  return !exists("+shellslash") || &shellslash ? '/' : '\'
endfunction " }}}1

" Convenience wrapper around glob() which returns a list.
function! pathogen#glob(pattern) abort " {{{1
  let files = split(glob(a:pattern),"\n")
  return map(files,'substitute(v:val,"[".pathogen#separator()."/]$","","")')
endfunction "}}}1

" Like pathogen#glob(), only limit the results to directories.
function! pathogen#glob_directories(pattern) abort " {{{1
  return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
endfunction "}}}1

" Turn filetype detection off and back on again if it was already enabled.
function! pathogen#cycle_filetype() " {{{1
  if exists('g:did_load_filetypes')
    filetype off
    filetype on
  endif
endfunction " }}}1

" Check if a bundle is disabled.  A bundle is considered disabled if it ends
" in a tilde or its basename or full name is included in the list
" g:pathogen_disabled.
function! pathogen#is_disabled(path) " {{{1
  if a:path =~# '\~$'
    return 1
  elseif !exists("g:pathogen_disabled")
    return 0
  endif
  let sep = pathogen#separator()
  let blacklist = g:pathogen_disabled
  return index(blacklist, strpart(a:path, strridx(a:path, sep)+1)) != -1 && index(blacklist, a:path) != 1
endfunction "}}}1

" Prepend the given directory to the runtime path and append its corresponding
" after directory.  If the directory is already included, move it to the
" outermost position.  Wildcards are added as is.  Ending a path in /{} causes
" all subdirectories to be added (except those in g:pathogen_disabled).
function! pathogen#surround(path) abort " {{{1
  let sep = pathogen#separator()
  let rtp = pathogen#split(&rtp)
  if a:path =~# '[\\/]{}$'
    let path = fnamemodify(a:path[0:-4], ':p:s?[\\/]\=$??')
    let before = filter(pathogen#glob_directories(path.sep.'*'), '!pathogen#is_disabled(v:val)')
    let after  = filter(reverse(pathogen#glob_directories(path.sep."*".sep."after")), '!pathogen#is_disabled(v:val[0:-7])')
    call filter(rtp,'v:val[0:strlen(path)-1] !=# path')
  else
    let path = fnamemodify(a:path, ':p:s?[\\/]\=$??')
    let before = [path]
    let after = [path . sep . 'after']
    call filter(rtp, 'index(before + after, v:val) == -1')
  endif
  let &rtp = pathogen#join(before, rtp, after)
  return &rtp
endfunction " }}}1

" Prepend all subdirectories of path to the rtp, and append all 'after'
" directories in those subdirectories.  Deprecated.
function! pathogen#runtime_prepend_subdirectories(path) " {{{1
  call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#surround('.string(a:path.'/{}').')')
  return pathogen#surround(a:path . pathogen#separator() . '{}')
endfunction " }}}1

" For each directory in the runtime path, add a second entry with the given
" argument appended.  If the argument ends in '/{}', add a separate entry for
" each subdirectory.  The default argument is 'bundle/{}', which means that
" .vim/bundle/*, $VIM/vimfiles/bundle/*, $VIMRUNTIME/bundle/*,
" $VIM/vim/files/bundle/*/after, and .vim/bundle/*/after will be added (on
" UNIX).
function! pathogen#incubate(...) abort " {{{1
  let sep = pathogen#separator()
  let name = a:0 ? a:1 : 'bundle/{}'
  if "\n".s:done_bundles =~# "\\M\n".name."\n"
    return ""
  endif
  let s:done_bundles .= name . "\n"
  let list = []
  for dir in pathogen#split(&rtp)
    if dir =~# '\<after$'
      if name =~# '{}$'
        let list +=  filter(pathogen#glob_directories(substitute(dir,'after$',name[0:-3],'').'*'.sep.'after'), '!pathogen#is_disabled(v:val[0:-7])') + [dir]
      else
        let list += [dir, substitute(dir, 'after$', '', '') . name . sep . 'after']
      endif
    else
      if name =~# '{}$'
        let list +=  [dir] + filter(pathogen#glob_directories(dir.sep.name[0:-3].'*'), '!pathogen#is_disabled(v:val)')
      else
        let list += [dir . sep . name, dir]
      endif
    endif
  endfor
  let &rtp = pathogen#join(pathogen#uniq(list))
  return 1
endfunction " }}}1

" Deprecated alias for pathogen#incubate().
function! pathogen#runtime_append_all_bundles(...) abort " {{{1
  if a:0
    call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#incubate('.string(a:1.'/{}').')')
  else
    call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#incubate()')
  endif
  return call('pathogen#incubate', map(copy(a:000),'v:val . "/{}"'))
endfunction

let s:done_bundles = ''
" }}}1

" Invoke :helptags on all non-$VIM doc directories in runtimepath.
function! pathogen#helptags() abort " {{{1
  let sep = pathogen#separator()
  for glob in pathogen#split(&rtp)
    for dir in split(glob(glob), "\n")
      if (dir.sep)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir.sep.'doc') == 2 && !empty(filter(split(glob(dir.sep.'doc'.sep.'*'),"\n>"),'!isdirectory(v:val)')) && (!filereadable(dir.sep.'doc'.sep.'tags') || filewritable(dir.sep.'doc'.sep.'tags'))
        silent! execute 'helptags' pathogen#fnameescape(dir.'/doc')
      endif
    endfor
  endfor
endfunction " }}}1

command! -bar Helptags :call pathogen#helptags()

" Execute the given command.  This is basically a backdoor for --remote-expr.
function! pathogen#execute(...) abort " {{{1
  for command in a:000
    execute command
  endfor
  return ''
endfunction " }}}1

" Like findfile(), but hardcoded to use the runtimepath.
function! pathogen#runtime_findfile(file,count) abort "{{{1
  let rtp = pathogen#join(1,pathogen#split(&rtp))
  let file = findfile(a:file,rtp,a:count)
  if file ==# ''
    return ''
  else
    return fnamemodify(file,':p')
  endif
endfunction " }}}1

" Backport of fnameescape().
function! pathogen#fnameescape(string) abort " {{{1
  if exists('*fnameescape')
    return fnameescape(a:string)
  elseif a:string ==# '-'
    return '\-'
  else
    return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
  endif
endfunction " }}}1

if exists(':Vedit')
  finish
endif

let s:vopen_warning = 0

function! s:find(count,cmd,file,lcd) " {{{1
  let rtp = pathogen#join(1,pathogen#split(&runtimepath))
  let file = pathogen#runtime_findfile(a:file,a:count)
  if file ==# ''
    return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
  endif
  if !s:vopen_warning
    let s:vopen_warning = 1
    let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE'
  else
    let warning = ''
  endif
  if a:lcd
    let path = file[0:-strlen(a:file)-2]
    execute 'lcd `=path`'
    return a:cmd.' '.pathogen#fnameescape(a:file) . warning
  else
    return a:cmd.' '.pathogen#fnameescape(file) . warning
  endif
endfunction " }}}1

function! s:Findcomplete(A,L,P) " {{{1
  let sep = pathogen#separator()
  let cheats = {
        \'a': 'autoload',
        \'d': 'doc',
        \'f': 'ftplugin',
        \'i': 'indent',
        \'p': 'plugin',
        \'s': 'syntax'}
  if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
    let request = cheats[a:A[0]].a:A[1:-1]
  else
    let request = a:A
  endif
  let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*'
  let found = {}
  for path in pathogen#split(&runtimepath)
    let path = expand(path, ':p')
    let matches = split(glob(path.sep.pattern),"\n")
    call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
    call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
    for match in matches
      let found[match] = 1
    endfor
  endfor
  return sort(keys(found))
endfunction " }}}1

command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve       :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit    :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen    :execute s:find(<count>,'edit<bang>',<q-args>,1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit   :execute s:find(<count>,'split',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit  :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit   :execute s:find(<count>,'pedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread    :execute s:find(<count>,'read',<q-args>,<bang>1)

" vim:set et sw=2:

A .vim/bundle/Vundle.vim => .vim/bundle/Vundle.vim +1 -0
@@ 0,0 1,1 @@
Subproject commit 4984767509e3d05ca051e253c8a8b37de784be45

D .vim/bundle/YouCompleteMe => .vim/bundle/YouCompleteMe +0 -1
@@ 1,1 0,0 @@
Subproject commit 94ec3ed902e4e55b1766232d3b0e7d602bc2c472

D .vim/bundle/ack.vim => .vim/bundle/ack.vim +0 -1
@@ 1,1 0,0 @@
Subproject commit 0a7d28bfb130696f73d122cac99d8903e066c896

D .vim/bundle/nerdtree => .vim/bundle/nerdtree +0 -1
@@ 1,1 0,0 @@
Subproject commit f8fd2ecce20f5005e6313ce57d6d2a209890c946

D .vim/bundle/racer => .vim/bundle/racer +0 -1
@@ 1,1 0,0 @@
Subproject commit 063094b977ce6c415f91e939626f334982c0a0a3

D .vim/bundle/rust.vim => .vim/bundle/rust.vim +0 -1
@@ 1,1 0,0 @@
Subproject commit 115d321d383eb96d438466c56cc871fcc1bd0faa

D .vim/bundle/salt-vim => .vim/bundle/salt-vim +0 -1
@@ 1,1 0,0 @@
Subproject commit bdfd0a558898df77aa8fc4c7b142062fdee3b2f7

D .vim/bundle/splice => .vim/bundle/splice +0 -1
@@ 1,1 0,0 @@
Subproject commit 4d322d823563f6fd2d72c129b1e99f5a98060fa8

D .vim/bundle/vim-airline => .vim/bundle/vim-airline +0 -1
@@ 1,1 0,0 @@
Subproject commit 246c217562dfd8541ee0d64600a628daa4195dd2

D .vim/bundle/vim-cargo => .vim/bundle/vim-cargo +0 -1
@@ 1,1 0,0 @@
Subproject commit fbf907c353eaafdf4a270f66c1bb6aad767d874f

D .vim/bundle/vim-colors-solarized => .vim/bundle/vim-colors-solarized +0 -1
@@ 1,1 0,0 @@
Subproject commit b1f234b8aa879a8276fc2c73c99ec68d7635de96

D .vim/bundle/vim-ctrlp => .vim/bundle/vim-ctrlp +0 -1
@@ 1,1 0,0 @@
Subproject commit b5d3fe66a58a13d2ff8b6391f4387608496a030f

D .vim/bundle/vim-dirdiff => .vim/bundle/vim-dirdiff +0 -1
@@ 1,1 0,0 @@
Subproject commit 779185c33cccada094f59aa1345ffe19d2e581e4

D .vim/bundle/vim-dispatch => .vim/bundle/vim-dispatch +0 -1
@@ 1,1 0,0 @@
Subproject commit 5f5c22c9ed48ee64fc5f02ac3acd543b97732fe8

D .vim/bundle/vim-fugitive => .vim/bundle/vim-fugitive +0 -1
@@ 1,1 0,0 @@
Subproject commit 0374322ba5d85ae44dd9dc44ef31ca015a59097e

D .vim/bundle/vim-gitgutter => .vim/bundle/vim-gitgutter +0 -1
@@ 1,1 0,0 @@
Subproject commit 39f011909620e0c7ae555efdace20c3963ac88af

D .vim/bundle/vim-markdown => .vim/bundle/vim-markdown +0 -1
@@ 1,1 0,0 @@
Subproject commit 74c9c60796ef10284ba26aaf38ffb39beae5f62c

D .vim/bundle/vim-syntastic => .vim/bundle/vim-syntastic +0 -1
@@ 1,1 0,0 @@
Subproject commit 64cce208388c10debd5b150de08d9be371bd0e86

M .vimrc => .vimrc +47 -2
@@ 20,6 20,9 @@ nmap <leader>t :wa <bar> :Make test<CR>
" navigate buffers by ctrl-b
nmap <C-b> :bprevious<CR>

" YCM
nnoremap <Leader>g :YcmCompleter GoTo<CR>

nnoremap ; :

" no cheating !


@@ 45,16 48,58 @@ set shiftwidth=4
set expandtab

" plugins
execute pathogen#infect()

filetype off 

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'

Plugin 'https://github.com/cyplo/vim-colors-solarized.git'
Plugin 'mileszs/ack.vim'
Plugin 'scrooloose/nerdtree.git'
Plugin 'scrooloose/syntastic.git'
Plugin 'wting/rust.vim'
Plugin 'sjl/splice.vim.git'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'timonv/vim-cargo'
Plugin 'kien/ctrlp.vim'
Plugin 'will133/vim-dirdiff'
Plugin 'tpope/vim-dispatch.git'
Plugin 'tpope/vim-fugitive.git'
Plugin 'tpope/vim-sensible'
Plugin 'tpope/vim-cucumber'
Plugin 'airblade/vim-gitgutter.git'
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'
Plugin 'Shougo/neocomplete.vim'

call vundle#end()
filetype plugin indent on

" colours [need pathogen]
" line ending
set fileformats=unix,dos

" colours
set t_Co=256
syntax enable
set background=dark
highlight clear SignColumn
colorscheme solarized

" plugins: neocomplete
let g:neocomplete#enable_at_startup = 1
let g:neocomplete#enable_smart_case = 1
"" <CR>: close popup and save indent.
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
function! s:my_cr_function()
  return (pumvisible() ? "\<C-y>" : "" ) . "\<CR>"
endfunction
"" <TAB>: completion.
inoremap <expr><TAB>  pumvisible() ? "\<C-n>" : "\<TAB>"

" plugins: airline
let g:bufferline_echo = 0
let g:airline_powerline_fonts = 1

M .zshrc => .zshrc +4 -0
@@ 45,7 45,11 @@ else
    alias tscp="torsocks scp"
fi

alias benice="ionice -c3 nice -n20"

# env vars
source ~/.setenv



export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

M README.md => README.md +1 -0
@@ 1,4 1,5 @@
[![Build Status](https://travis-ci.org/cyplo/dotfiles.svg?branch=master)](https://travis-ci.org/cyplo/dotfiles)
[![Build status](https://ci.appveyor.com/api/projects/status/s6i314lyti4o1ny1/branch/master?svg=true)](https://ci.appveyor.com/project/cyplo/dotfiles/branch/master)

My common dotfiles for Linux, Mac and Cygwin


A appveyor.yml => appveyor.yml +2 -0
@@ 0,0 1,2 @@
install: powershell -NoProfile -ExecutionPolicy Bypass -Command "windows_cygwin\bootstrap.ps1"
build_script: windows_cygwin\build.bat

M common/configure_fresh_system => common/configure_fresh_system +57 -45
@@ 1,9 1,16 @@
#!/bin/bash

SUDO=""
if [[ -z $NOSUDO ]]; then
    SUDO="sudo"
fi

echo "using '$SUDO' as sudo"

set -e
echo
echo "configuring settings common among OSes"
sudo true
$SUDO true

#zsh
if [[ -z $DONT_CHANGE_SHELL ]]; then


@@ 14,7 21,11 @@ fi
CURL="curl -sSf"
jobs_count=`nproc`

#submodules
if [[ -z $DIR ]]; then
    echo "please set DIR"
    exit 1
fi

DIR=`realpath $DIR`
echo "using $DIR as the top level directory"
cd $DIR


@@ 44,14 55,10 @@ ln -vfs "$DIR/.config/redshift.conf" ~/.config/redshift.conf

source ~/.setenv

cd "$DIR/.vim/bundle/YouCompleteMe/"
git submodule update --init --recursive
python install.py --clang-completer

# symlink 'nodejs' as node on some systems
# will replace symlink if it exists, but won't replace regular file
if [[ ! -f /usr/bin/node ]]; then
    sudo ln -vfs /usr/bin/nodejs /usr/bin/node
    $SUDO ln -vfs /usr/bin/nodejs /usr/bin/node
fi

# tools


@@ 67,59 74,64 @@ mkdir -p ~/.fonts
cp -rv "$DIR/fonts" ~/.fonts
set +e
fc-cache -rv
sudo fc-cache -rv
$SUDO fc-cache -rv
set -e

#rust
echo "installing rust"
RUSTUP_TEMP="/tmp/blastoff.sh"
$CURL https://sh.rustup.rs > "$RUSTUP_TEMP"
chmod a+x "$RUSTUP_TEMP"
"$RUSTUP_TEMP" -y
rm -f "$RUSTUP_TEMP"
rustup update
rustup default stable
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
cd "$DIR/../"
echo "getting rust sources..."
if [[ ! -d rust ]]; then
    git clone https://github.com/rust-lang/rust.git
else
    cd rust 
    git pull
if [[ -z $NORUST ]]; then
    #rust
    echo "installing rust"
    RUSTUP_TEMP="/tmp/blastoff.sh"
    $CURL https://sh.rustup.rs > "$RUSTUP_TEMP"
    chmod a+x "$RUSTUP_TEMP"
    "$RUSTUP_TEMP" -y
    rm -f "$RUSTUP_TEMP"
    rustup update
    rustup default stable
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    cd "$DIR/../"
    echo "getting rust sources..."
    if [[ ! -d rust ]]; then
        git clone https://github.com/rust-lang/rust.git --recursive
    else
        cd rust 
        git pull
        git submodule update --init --recursive
    fi
    cargo install -j $jobs_count -f rustfmt
fi

set +e
cargo uninstall rustfmt
cargo uninstall racer
set -e
cargo install -j $jobs_count rustfmt
cargo install -j $jobs_count racer
if [[ -z $NORUBY ]]; then
    gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
    curl -sSL https://get.rvm.io | bash -s stable --ruby
fi

# rvm
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$CURL -L https://get.rvm.io | bash -s stable
source $HOME/.rvm/scripts/rvm
rvm install ruby
if [[ -z $NOVIM ]]; then
    echo "\n" | vim +PluginInstall +qa
fi

# go
export GOPATH="$HOME/go"
mkdir -p "$GOPATH"
if [[ -z $NO_GO ]]; then
    export GOPATH="$HOME/go"
    mkdir -p "$GOPATH"

# excercism
go get -u github.com/exercism/cli/exercism
    # excercism
    go get -u github.com/exercism/cli/exercism
fi

# talks: reveal-md
sudo npm install -g reveal-md
sudo npm install -g diff-so-fancy
$SUDO npm install -g reveal-md
$SUDO npm install -g diff-so-fancy

# vdir syncer
echo "installing vdirsyncer"
sudo pip install vdirsyncer
$SUDO pip install vdirsyncer

if [[ -z $USER ]]; then
    USER=`whoami`
fi

# normalize npm permissions
mkdir -p $HOME/.npm
sudo chown $USER $HOME/.npm -R
$SUDO chown $USER $HOME/.npm -R

echo
echo "now go ahead and restart"

D cygwin/mintty-colors-solarized => cygwin/mintty-colors-solarized +0 -1
@@ 1,1 0,0 @@
Subproject commit 11d7c05bf97b6c4ae6985fa94b16f6c4e7a61b94

R bunsen/configure_fresh_system => debian/configure_fresh_system +25 -5
@@ 1,14 1,30 @@
#!/bin/bash

set -e

sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install aptitude meld whois zsh tmux atop aria2 curl pv gajim tor torsocks nodejs icedove icedove-enigmail icedove-sogo-connector gajim lm-sensors freecad python3-pip meld whois curl pv tor torsocks nodejs npm terminator gsmartcontrol python-pip mercurial redshift gtk-redshift cmake intltool gparted wine solaar glances silversearcher-ag dkms linux-kernel-headers golang keepass2 libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev git retext kdiff3
install_packages="sudo apt-get -y --fix-missing install aptitude meld whois zsh tmux atop aria2 curl pv gajim tor torsocks nodejs icedove icedove-enigmail icedove-sogo-connector gajim lm-sensors freecad python3-pip meld whois curl pv tor torsocks nodejs npm terminator gsmartcontrol python-pip mercurial redshift gtk-redshift cmake intltool gparted wine solaar glances silversearcher-ag dkms linux-kernel-headers golang keepass2 libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev git retext kdiff3"

sudo systemctl enable tor
sudo systemctl start tor
set +e
for i in `seq 1 3`; do
        eval $install_packages
done

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="$DIR/../"
set -e
eval $install_packages

if [[ -z $NO_SYSTEMCTL ]]; then
	sudo systemctl enable tor
	sudo systemctl start tor
fi

# mono
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get -y install mono-devel mono-complete 
# install vim from sources
VIM_BUILD_DIR=/tmp
cd "$VIM_BUILD_DIR"


@@ 27,4 43,8 @@ sudo make install
cd
rm -fvr "$VIM_BUILD_DIR/vim"

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="$DIR/../"
DIR="$DIR" $DIR/common/configure_fresh_system



D debian/install_debian.sh => debian/install_debian.sh +0 -8
@@ 1,8 0,0 @@
#!/bin/bash
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install meld whois zsh tmux vim atop aria2 curl pv gajim tor torsocks nodejs

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
$DIR/install_common.sh


A debian/test_insider => debian/test_insider +19 -0
@@ 0,0 1,19 @@
#!/bin/bash

set -e

export DEBIAN_FRONTEND=noninteractive
export DONT_CHANGE_SHELL=true
export NO_SYSTEMCTL=true

echo "APT::Acquire::Retries=16;" >> /etc/apt/apt.conf.d/99_retries

apt-get update
apt-get install sudo
cd $HOME

mkdir -p dev/
cp -rv temp/dotfiles dev/

./dev/dotfiles/debian/configure_fresh_system


M fedora/configure_fresh_system => fedora/configure_fresh_system +19 -5
@@ 1,19 1,33 @@
#!/bin/bash

set -e

#software and shell
sudo dnf -y upgrade --best --allowerasing
sudo dnf -y --best --allowerasing install vim tmux atop zsh thunderbird thunderbird-enigmail thunderbird-lightning firefox aria2 gajim lm_sensors freecad python3-pip qt5-qtbase-devel qt5-qtwebkit-devel meld whois curl pv tor torsocks nodejs terminator gsmartcontrol python-pip mercurial python-devel libxslt-devel libjpeg-turbo-devel conky conky-manager redshift redshift-gtk cmake gtk2-devel intltool gparted wine solaar glances the_silver_searcher dkms kernel-devel gimp transmission-gtk util-linux-user
sudo dnf -y --best --allowerasing install vim tmux atop zsh thunderbird thunderbird-enigmail thunderbird-lightning firefox aria2 gajim lm_sensors freecad python3-pip qt5-qtbase-devel qt5-qtwebkit-devel meld whois curl pv tor torsocks nodejs npm terminator gsmartcontrol python-pip mercurial python-devel libxslt-devel libjpeg-turbo-devel conky conky-manager redshift redshift-gtk cmake gtk2-devel intltool gparted wine solaar glances the_silver_searcher dkms kernel-devel gimp transmission-gtk git xz util-linux-user powertop dnf-automatic kdiff3 yum-utils util-linux-user
FEDORA_VERSION=`rpm -E %fedora`
sudo dnf -y install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$FEDORA_VERSION.noarch.rpm
sudo dnf -y install http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$FEDORA_VERSION.noarch.rpm
sudo dnf -y --best --allowerasing install vlc splix gutenprint-cups cups-bjnp keepass mplayer golang
sudo dnf -y --best --allowerasing install vlc splix gutenprint-cups cups-bjnp mono-devel keepass mplayer golang ncurses-compat-libs kicad retext
sudo dnf -y groupinstall "C Development Tools and Libraries"

sudo systemctl enable tor
sudo systemctl start tor

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

sudo cp -v /etc/dnf/automatic.conf /etc/dnf/automatic.conf.bak
sudo cp -v $DIR/etc/dnf/automatic.conf /etc/dnf/automatic.conf
set +e
sudo diff /etc/dnf/automatic.conf.bak /etc/dnf/automatic.conf
set -e

if [[ -z $NO_SYSTEMCTL ]]; then
    sudo systemctl enable dnf-automatic.timer
    sudo systemctl start  dnf-automatic.timer
    sudo systemctl list-timers "*dnf-*"

    sudo systemctl enable tor
    sudo systemctl start tor
fi

DIR="$DIR/../"
DIR="$DIR" $DIR/common/configure_fresh_system


A fedora/etc/dnf/automatic.conf => fedora/etc/dnf/automatic.conf +46 -0
@@ 0,0 1,46 @@
[commands]
#  What kind of upgrade to perform:
# default                            = all available upgrades
# security                           = only the security upgrades
upgrade_type = security
random_sleep = 300

# Whether updates should be downloaded when they are available.
download_updates = yes

# Whether updates should be applied when they are available.
# Note that if this is set to no, downloaded packages will be left in the
# cache regardless of the keepcache setting.
apply_updates = yes


[emitters]
# Name to use for this system in messages that are emitted.  Default is the
# hostname.
# system_name = my-host

# How to send messages.  Valid options are stdio, email and motd.  If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages.  If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages.
# Default is email,stdio.
emit_via = stdio,email


[email]
# The address to send email messages from.
email_from = root

# List of addresses to send messages to.
email_to = admin@cyplo.net

# Name of the host to connect to to send email messages.
email_host = localhost


[base]
# This section overrides dnf.conf

# Use this to filter DNF core messages
debuglevel = 1

M fedora/install_freecad_dependencies => fedora/install_freecad_dependencies +1 -1
@@ 1,2 1,2 @@
#!/bin/bash
sudo dnf install cmake doxygen swig gettext dos2unix desktop-file-utils libXmu-devel freeimage-devel mesa-libGLU-devel OCE-devel python python-devel python-pyside-devel pyside-tools boost-devel tbb-devel eigen3-devel qt-devel qt-webkit-devel ode-devel xerces-c xerces-c-devel opencv-devel smesh-devel freetype freetype-devel boost-devel Coin3-devel
sudo dnf install cmake doxygen swig gettext dos2unix desktop-file-utils libXmu-devel freeimage-devel mesa-libGLU-devel OCE-devel python python-devel python-pyside-devel pyside-tools boost-devel tbb-devel eigen3-devel qt-devel qt-webkit-devel ode-devel xerces-c xerces-c-devel opencv-devel smesh-devel freetype freetype-devel boost-devel Coin3-devel vtk-devel med-devel

A fedora/test_insider => fedora/test_insider +16 -0
@@ 0,0 1,16 @@
#!/bin/bash

set -e

export DONT_CHANGE_SHELL=true
export NO_SYSTEMCTL=true

dnf -y install sudo

cd $HOME

mkdir -p dev/
cp -rv temp/dotfiles dev/

./dev/dotfiles/fedora/configure_fresh_system


A test => test +29 -0
@@ 0,0 1,29 @@
#!/bin/bash

if [[ -z $DETECTED_OS ]]; then
    echo "cannot detect OS, please set DETECTED_OS manually"
    exit 1
fi

if [[ $DETECTED_OS =~ .*:.* ]]; then
   SYSTEM_NAME=`echo $DETECTED_OS | cut -d':' -f1` 
   SYSTEM_VERSION=`echo $DETECTED_OS | cut -d':' -f2` 
else
    echo "please set DETECTED_OS to system:version"
    exit 1
fi

INSIDER_ROOT_DIR=/root/temp/dotfiles/
CURRENT_DIR=`pwd`

SYSTEM_DIR="$SYSTEM_NAME/"
SYSTEM_VERSION_DIR="$SYSTEM_NAME/$SYSTEM_VERSION/"

if [[ -d "$CURRENT_DIR/$SYSTEM_VERSION_DIR" ]]; then
    DIR=$SYSTEM_VERSION_DIR
else
    DIR=$SYSTEM_DIR
fi

docker run -v $CURRENT_DIR:$INSIDER_ROOT_DIR $DETECTED_OS $INSIDER_ROOT_DIR/$DIR/test_insider


M ubuntu/configure_fresh_system => ubuntu/configure_fresh_system +20 -8
@@ 1,18 1,30 @@
#!/bin/bash
# detect if building inside a CI system, like Travis
echo "choosing the more interactive installation method"
COMMAND_PREFIX="apt-get -y";

set -e
set -v

sudo apt-get update
sudo apt-get -y upgrade
install_packages="sudo apt-get -y --fix-missing install apt-file aptitude aria2 atop cmake curl dkms freecad gajim git glances gnupg2 golang gparted gsmartcontrol gtk-redshift intltool kdiff3 keepass2 libatk1.0-dev libbonoboui2-dev libcairo2-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libncurses5-dev libx11-dev libxpm-dev libxt-dev linux-kernel-headers lm-sensors meld mercurial nodejs npm pv python-dev python-pip python3-pip realpath redshift retext ruby-dev silversearcher-ag solaar terminator thunderbird thunderbird-enigmail thunderbird-ublock-origin tmux tor torsocks vim whois zsh"

set +e
for i in `seq 1 3`; do
        eval $install_packages
done

set -e
eval $install_packages

UPGRADE_COMMAND="sudo $COMMAND_PREFIX dist-upgrade"
eval ${UPGRADE_COMMAND}
if [[ -z $NO_SYSTEMCTL ]]; then
	sudo systemctl enable tor
	sudo systemctl start tor
fi

INSTALL_COMMAND="sudo $COMMAND_PREFIX install meld whois zsh tmux vim atop aria2 curl pv pixz gajim tor torsocks nodejs npm terminator gsmartcontrol python-pip mesa-utils mesa-utils-extra aptitude p7zip-full p7zip-rar thunderbird mercurial kdiff3 gnupg2 python3-setuptools aircrack-ng macchanger realpath python3-dev python3 python3-pip apt-file"
eval ${INSTALL_COMMAND}
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get -y install mono-devel mono-complete 

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="$DIR/../"
DIR="$DIR" $DIR/common/configure_fresh_system


A ubuntu/test_insider => ubuntu/test_insider +19 -0
@@ 0,0 1,19 @@
#!/bin/bash

set -e

export DEBIAN_FRONTEND=noninteractive
export DONT_CHANGE_SHELL=true
export NO_SYSTEMCTL=true

echo "APT::Acquire::Retries=16;" >> /etc/apt/apt.conf.d/99_retries

apt-get update
apt-get install sudo
cd $HOME

mkdir -p dev/
cp -rv temp/dotfiles dev/

./dev/dotfiles/ubuntu/configure_fresh_system


A ubuntu/trusty/configure_fresh_system => ubuntu/trusty/configure_fresh_system +32 -0
@@ 0,0 1,32 @@
#!/bin/bash

set -e
set -v

sudo apt-get update
sudo apt-get -y upgrade
install_packages="sudo apt-get -y --fix-missing install apt-file aptitude aria2 atop cmake curl dkms freecad gajim git glances gnupg2 golang gparted gsmartcontrol gtk-redshift intltool kdiff3 keepass2 libatk1.0-dev libbonoboui2-dev libcairo2-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libncurses5-dev libx11-dev libxpm-dev libxt-dev linux-kernel-headers lm-sensors meld mercurial nodejs npm pv python-dev python-pip python3-pip realpath redshift retext ruby-dev silversearcher-ag terminator thunderbird thunderbird-enigmail tmux tor torsocks vim whois zsh"

set +e
for i in `seq 1 3`; do
        eval $install_packages
done

set -e
eval $install_packages

if [[ -z $NO_SYSTEMCTL ]]; then
	sudo systemctl enable tor
	sudo systemctl start tor
fi

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
echo "deb http://download.mono-project.com/repo/debian wheezy-libtiff-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get -y install mono-devel mono-complete 

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="$DIR/../../"
export NO_GO=true
DIR="$DIR" $DIR/common/configure_fresh_system

A ubuntu/trusty/test_insider => ubuntu/trusty/test_insider +19 -0
@@ 0,0 1,19 @@
#!/bin/bash

set -e

export DEBIAN_FRONTEND=noninteractive
export DONT_CHANGE_SHELL=true
export NO_SYSTEMCTL=true

echo "APT::Acquire::Retries=16;" >> /etc/apt/apt.conf.d/99_retries

apt-get update
apt-get install sudo
cd $HOME

mkdir -p dev/
cp -rv temp/dotfiles dev/

./dev/dotfiles/ubuntu/trusty/configure_fresh_system


A windows_cygwin/.minttyrc => windows_cygwin/.minttyrc +27 -0
@@ 0,0 1,27 @@
BoldAsFont=-1
Font=DejaVu Sans Mono for Powerline
FontHeight=12
FontWeight=700
FontIsBold=yes
Locale=en_GB
Charset=UTF-8
ForegroundColour=131,148,150
BackgroundColour=0,43,54
CursorColour=220,50,47
Black=7,54,66
BoldBlack=0,43,54
Red=220,50,47
BoldRed=203,75,22
Green=133,153,0
BoldGreen=88,110,117
Yellow=181,137,0
BoldYellow=101,123,131
Blue=38,139,210
BoldBlue=131,148,150
Magenta=211,54,130
BoldMagenta=108,113,196
Cyan=42,161,152
BoldCyan=147,161,161
White=238,232,213
BoldWhite=253,246,227
BellType=0

A windows_cygwin/README.md => windows_cygwin/README.md +19 -0
@@ 0,0 1,19 @@
Bootstrap from cmd.exe running as Administrator:

    @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/cyplo/dotfiles/master/windows_cygwin/bootstrap.ps1'))"

launch a normal user's cmd.exe and:

    refreshenv
    ssh-keygen -b 8192
    type .ssh\id_rsa.pub
    # add this key to github
    mkdir dev
    cd dev
    git clone git@github.com:cyplo/dotfiles.git

launch new cmd.exe as Administrator and:
    
    cd %HOMEPATH%\dev\dotfiles
    windows_cygwin\build.bat


A windows_cygwin/bootstrap.ps1 => windows_cygwin/bootstrap.ps1 +3 -0
@@ 0,0 1,3 @@
iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex
choco install -y git win32-openssh


A windows_cygwin/build.bat => windows_cygwin/build.bat +15 -0
@@ 0,0 1,15 @@
@echo on
choco install -y --allowEmptyChecksum firefox googlechrome wget notepadplusplus sublimetext3 mono monodevelop gtksharp visualstudiocode microsoft-build-tools visualstudio2015community p4merge dotnet4.5 ruby nodejs.install stylecop
call refreshenv

wget -c https://cygwin.com/setup-x86_64.exe
setup-x86_64.exe -R "C:\cygwin64" -s http://cygwin.netbet.org/ -q -g -P curl,zsh,git,vim,wget,xz,tar,gawk,bzip2,subversion,zlib,fontconfig,clang,cmake,lua,perl,the_silver_searcher

set script_path=%~dp0
set repo_path=%script_path%\..\
set bash=c:\cygwin64\bin\bash.exe --login -c

for /f "delims=" %%A in ('%bash% "cd `cygpath $HOMEPATH`/dev/dotfiles && git rev-parse --abbrev-ref HEAD"') do set "branch=%%A" 
%bash% 'echo "branch is $branch"'
%bash% "cp -vr `cygpath $HOMEPATH`/.ssh $HOME/"
%bash% "export OUTER_CLONE=`cygpath $repo_path` && $script_path/build_insider.sh"

A windows_cygwin/build_insider.sh => windows_cygwin/build_insider.sh +25 -0
@@ 0,0 1,25 @@
#!/bin/bash

DOTFILES_PATH="$HOME/dev/dotfiles"
mkdir -pv $HOME/dev/
rm -fr $DOTFILES_PATH

git clone "$OUTER_CLONE" "$DOTFILES_PATH"
cd "$DOTFILES_PATH"
git remote set-url origin git@github.com:cyplo/dotfiles.git
git checkout $branch

export NOSUDO=true
export DONT_CHANGE_SHELL=true
export NORUST=true
export NORUBY=true
export NO_GO=true
export DIR=$DOTFILES_PATH 

curl https://bootstrap.pypa.io/get-pip.py > /tmp/get-pip.py
python /tmp/get-pip.py

$DIR/common/configure_fresh_system
ln -vfs $DIR/windows_cygwin/.minttyrc $HOME/
ln -vfs $DIR/.gitconfig.cygwin $HOME/.gitconfig