diff --git a/.gitattributes b/.gitattributes index 486a2325..a647db34 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ +*.sh -crlf + *.zip filter=lfs diff=lfs merge=lfs -text diff --git a/.gitconfig_includes.common b/.gitconfig_includes.common index bfc7767e..5dd2b45e 100644 --- a/.gitconfig_includes.common +++ b/.gitconfig_includes.common @@ -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 diff --git a/.gitconfig_includes.cygwin b/.gitconfig_includes.cygwin index cb3e6e39..2aa43a69 100644 --- a/.gitconfig_includes.cygwin +++ b/.gitconfig_includes.cygwin @@ -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 diff --git a/.gitignore b/.gitignore index d2907491..d3ddc045 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .vim/undo/ .vim/.netrwhist - +.vim/bundle/* +!.vim/bundle/Vundle.vim diff --git a/.gitmodules b/.gitmodules index 7799fb56..08084abd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/.kdiff3rc b/.kdiff3rc index f16aadf1..534772a0 100644 --- a/.kdiff3rc +++ b/.kdiff3rc @@ -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 diff --git a/.oh-my-zsh b/.oh-my-zsh index 83cf8dc1..774c4eca 160000 --- a/.oh-my-zsh +++ b/.oh-my-zsh @@ -1 +1 @@ -Subproject commit 83cf8dc16f51babbb0193c5b97e568739c1f40de +Subproject commit 774c4eca6f166be554baf33ff48de9e90e98f16a diff --git a/.setenv b/.setenv index c5b25623..706c22bb 100644 --- a/.setenv +++ b/.setenv @@ -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 + diff --git a/.travis.yml b/.travis.yml index b01ec991..5e665512 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 + diff --git a/.vim/autoload/pathogen.vim b/.vim/autoload/pathogen.vim deleted file mode 100644 index 7b89ccaf..00000000 --- a/.vim/autoload/pathogen.vim +++ /dev/null @@ -1,326 +0,0 @@ -" pathogen.vim - path option manipulation -" Maintainer: Tim Pope -" 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,'\\\@"),'!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(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1) - -" vim:set et sw=2: diff --git a/.vim/bundle/Vundle.vim b/.vim/bundle/Vundle.vim new file mode 160000 index 00000000..49847675 --- /dev/null +++ b/.vim/bundle/Vundle.vim @@ -0,0 +1 @@ +Subproject commit 4984767509e3d05ca051e253c8a8b37de784be45 diff --git a/.vim/bundle/YouCompleteMe b/.vim/bundle/YouCompleteMe deleted file mode 160000 index 94ec3ed9..00000000 --- a/.vim/bundle/YouCompleteMe +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 94ec3ed902e4e55b1766232d3b0e7d602bc2c472 diff --git a/.vim/bundle/ack.vim b/.vim/bundle/ack.vim deleted file mode 160000 index 0a7d28bf..00000000 --- a/.vim/bundle/ack.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0a7d28bfb130696f73d122cac99d8903e066c896 diff --git a/.vim/bundle/nerdtree b/.vim/bundle/nerdtree deleted file mode 160000 index f8fd2ecc..00000000 --- a/.vim/bundle/nerdtree +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f8fd2ecce20f5005e6313ce57d6d2a209890c946 diff --git a/.vim/bundle/racer b/.vim/bundle/racer deleted file mode 160000 index 063094b9..00000000 --- a/.vim/bundle/racer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 063094b977ce6c415f91e939626f334982c0a0a3 diff --git a/.vim/bundle/rust.vim b/.vim/bundle/rust.vim deleted file mode 160000 index 115d321d..00000000 --- a/.vim/bundle/rust.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 115d321d383eb96d438466c56cc871fcc1bd0faa diff --git a/.vim/bundle/salt-vim b/.vim/bundle/salt-vim deleted file mode 160000 index bdfd0a55..00000000 --- a/.vim/bundle/salt-vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bdfd0a558898df77aa8fc4c7b142062fdee3b2f7 diff --git a/.vim/bundle/splice b/.vim/bundle/splice deleted file mode 160000 index 4d322d82..00000000 --- a/.vim/bundle/splice +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4d322d823563f6fd2d72c129b1e99f5a98060fa8 diff --git a/.vim/bundle/vim-airline b/.vim/bundle/vim-airline deleted file mode 160000 index 246c2175..00000000 --- a/.vim/bundle/vim-airline +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 246c217562dfd8541ee0d64600a628daa4195dd2 diff --git a/.vim/bundle/vim-cargo b/.vim/bundle/vim-cargo deleted file mode 160000 index fbf907c3..00000000 --- a/.vim/bundle/vim-cargo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fbf907c353eaafdf4a270f66c1bb6aad767d874f diff --git a/.vim/bundle/vim-colors-solarized b/.vim/bundle/vim-colors-solarized deleted file mode 160000 index b1f234b8..00000000 --- a/.vim/bundle/vim-colors-solarized +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b1f234b8aa879a8276fc2c73c99ec68d7635de96 diff --git a/.vim/bundle/vim-ctrlp b/.vim/bundle/vim-ctrlp deleted file mode 160000 index b5d3fe66..00000000 --- a/.vim/bundle/vim-ctrlp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b5d3fe66a58a13d2ff8b6391f4387608496a030f diff --git a/.vim/bundle/vim-dirdiff b/.vim/bundle/vim-dirdiff deleted file mode 160000 index 779185c3..00000000 --- a/.vim/bundle/vim-dirdiff +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 779185c33cccada094f59aa1345ffe19d2e581e4 diff --git a/.vim/bundle/vim-dispatch b/.vim/bundle/vim-dispatch deleted file mode 160000 index 5f5c22c9..00000000 --- a/.vim/bundle/vim-dispatch +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5f5c22c9ed48ee64fc5f02ac3acd543b97732fe8 diff --git a/.vim/bundle/vim-fugitive b/.vim/bundle/vim-fugitive deleted file mode 160000 index 0374322b..00000000 --- a/.vim/bundle/vim-fugitive +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0374322ba5d85ae44dd9dc44ef31ca015a59097e diff --git a/.vim/bundle/vim-gitgutter b/.vim/bundle/vim-gitgutter deleted file mode 160000 index 39f01190..00000000 --- a/.vim/bundle/vim-gitgutter +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 39f011909620e0c7ae555efdace20c3963ac88af diff --git a/.vim/bundle/vim-markdown b/.vim/bundle/vim-markdown deleted file mode 160000 index 74c9c607..00000000 --- a/.vim/bundle/vim-markdown +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 74c9c60796ef10284ba26aaf38ffb39beae5f62c diff --git a/.vim/bundle/vim-syntastic b/.vim/bundle/vim-syntastic deleted file mode 160000 index 64cce208..00000000 --- a/.vim/bundle/vim-syntastic +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 64cce208388c10debd5b150de08d9be371bd0e86 diff --git a/.vimrc b/.vimrc index 7284ed47..6046b727 100755 --- a/.vimrc +++ b/.vimrc @@ -20,6 +20,9 @@ nmap t :wa :Make test " navigate buffers by ctrl-b nmap :bprevious +" YCM +nnoremap g :YcmCompleter GoTo + 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 +"" : close popup and save indent. +inoremap =my_cr_function() +function! s:my_cr_function() + return (pumvisible() ? "\" : "" ) . "\" +endfunction +"" : completion. +inoremap pumvisible() ? "\" : "\" + " plugins: airline let g:bufferline_echo = 0 let g:airline_powerline_fonts = 1 diff --git a/.zshrc b/.zshrc index 924388c3..860a8d40 100644 --- a/.zshrc +++ b/.zshrc @@ -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 diff --git a/README.md b/README.md index f30d716e..b26546c8 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..58c4c013 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,2 @@ +install: powershell -NoProfile -ExecutionPolicy Bypass -Command "windows_cygwin\bootstrap.ps1" +build_script: windows_cygwin\build.bat diff --git a/bunsen/configure_fresh_system b/bunsen/configure_fresh_system deleted file mode 100755 index bc9cef84..00000000 --- a/bunsen/configure_fresh_system +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -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 - -sudo systemctl enable tor -sudo systemctl start tor - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -DIR="$DIR/../" - -# install vim from sources -VIM_BUILD_DIR=/tmp -cd "$VIM_BUILD_DIR" -git clone https://github.com/vim/vim.git -cd vim -./configure --with-features=huge \ - --enable-multibyte \ - --enable-rubyinterp \ - --enable-pythoninterp \ - --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \ - --enable-perlinterp \ - --enable-luainterp \ - --enable-gui=gtk2 --enable-cscope --prefix=/usr -make -j2 -sudo make install -cd -rm -fvr "$VIM_BUILD_DIR/vim" - -DIR="$DIR" $DIR/common/configure_fresh_system diff --git a/common/configure_fresh_system b/common/configure_fresh_system index a475bb7d..698a54ae 100755 --- a/common/configure_fresh_system +++ b/common/configure_fresh_system @@ -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" diff --git a/cygwin/mintty-colors-solarized b/cygwin/mintty-colors-solarized deleted file mode 160000 index 11d7c05b..00000000 --- a/cygwin/mintty-colors-solarized +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 11d7c05bf97b6c4ae6985fa94b16f6c4e7a61b94 diff --git a/debian/configure_fresh_system b/debian/configure_fresh_system new file mode 100755 index 00000000..23023f61 --- /dev/null +++ b/debian/configure_fresh_system @@ -0,0 +1,50 @@ +#!/bin/bash + +set -e + +sudo apt-get update +sudo apt-get -y upgrade +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" + +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 + +# 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" +git clone https://github.com/vim/vim.git +cd vim +./configure --with-features=huge \ + --enable-multibyte \ + --enable-rubyinterp \ + --enable-pythoninterp \ + --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \ + --enable-perlinterp \ + --enable-luainterp \ + --enable-gui=gtk2 --enable-cscope --prefix=/usr +make -j2 +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 + + diff --git a/debian/install_debian.sh b/debian/install_debian.sh deleted file mode 100755 index 1b68b7bc..00000000 --- a/debian/install_debian.sh +++ /dev/null @@ -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 - diff --git a/debian/test_insider b/debian/test_insider new file mode 100755 index 00000000..e1bee875 --- /dev/null +++ b/debian/test_insider @@ -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 + diff --git a/fedora/configure_fresh_system b/fedora/configure_fresh_system index dfbeed50..4b6ddb39 100755 --- a/fedora/configure_fresh_system +++ b/fedora/configure_fresh_system @@ -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 diff --git a/fedora/etc/dnf/automatic.conf b/fedora/etc/dnf/automatic.conf new file mode 100644 index 00000000..d5bed173 --- /dev/null +++ b/fedora/etc/dnf/automatic.conf @@ -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 diff --git a/fedora/install_freecad_dependencies b/fedora/install_freecad_dependencies index 8ec3a001..4292f342 100755 --- a/fedora/install_freecad_dependencies +++ b/fedora/install_freecad_dependencies @@ -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 diff --git a/fedora/test_insider b/fedora/test_insider new file mode 100755 index 00000000..e31efca7 --- /dev/null +++ b/fedora/test_insider @@ -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 + diff --git a/test b/test new file mode 100755 index 00000000..10466feb --- /dev/null +++ b/test @@ -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 + diff --git a/ubuntu/configure_fresh_system b/ubuntu/configure_fresh_system index c5fc4939..8ab84e07 100755 --- a/ubuntu/configure_fresh_system +++ b/ubuntu/configure_fresh_system @@ -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" -UPGRADE_COMMAND="sudo $COMMAND_PREFIX dist-upgrade" -eval ${UPGRADE_COMMAND} +set +e +for i in `seq 1 3`; do + eval $install_packages +done -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} +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 +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 - diff --git a/ubuntu/test_insider b/ubuntu/test_insider new file mode 100755 index 00000000..1234fce0 --- /dev/null +++ b/ubuntu/test_insider @@ -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 + diff --git a/ubuntu/trusty/configure_fresh_system b/ubuntu/trusty/configure_fresh_system new file mode 100755 index 00000000..886b5f9f --- /dev/null +++ b/ubuntu/trusty/configure_fresh_system @@ -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 diff --git a/ubuntu/trusty/test_insider b/ubuntu/trusty/test_insider new file mode 100755 index 00000000..acfe5d01 --- /dev/null +++ b/ubuntu/trusty/test_insider @@ -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 + diff --git a/windows_cygwin/.minttyrc b/windows_cygwin/.minttyrc new file mode 100644 index 00000000..553257b0 --- /dev/null +++ b/windows_cygwin/.minttyrc @@ -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 diff --git a/windows_cygwin/README.md b/windows_cygwin/README.md new file mode 100644 index 00000000..cc3c8bb3 --- /dev/null +++ b/windows_cygwin/README.md @@ -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 + diff --git a/windows_cygwin/bootstrap.ps1 b/windows_cygwin/bootstrap.ps1 new file mode 100644 index 00000000..dbec7a91 --- /dev/null +++ b/windows_cygwin/bootstrap.ps1 @@ -0,0 +1,3 @@ +iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex +choco install -y git win32-openssh + diff --git a/windows_cygwin/build.bat b/windows_cygwin/build.bat new file mode 100755 index 00000000..405f244c --- /dev/null +++ b/windows_cygwin/build.bat @@ -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" diff --git a/windows_cygwin/build_insider.sh b/windows_cygwin/build_insider.sh new file mode 100755 index 00000000..f1c25446 --- /dev/null +++ b/windows_cygwin/build_insider.sh @@ -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 +