install.sh (2835B)
1 #!/bin/bash 2 3 # http://stackoverflow.com/a/4785518 4 command -v curl >/dev/null 2>&1 || { echo "I require curl but it's not installed. Aborting." >&2; exit 1; } 5 command -v git >/dev/null 2>&1 || { echo "I require git but it's not installed. Aborting." >&2; exit 1; } 6 7 touch ~/-@ # http://unix.stackexchange.com/a/77868 8 9 mkdir -p ~/.config 10 11 mkdir -p ~/logs 12 mkdir -p ~/logs/rofi 13 mkdir -p ~/temp/{vim,mutt,lock} 14 mkdir -p ~/temp/vim/{temp,backup} 15 16 mkdir -p ~/useful/papers 17 18 mkdir -p ~/apps 19 cd ~/apps 20 git clone 'https://github.com/clvv/fasd' 21 ln -s ~/apps/fasd/fasd ~/bin 22 git clone 'https://github.com/kragen/xcompose' 23 ln -s ~/apps/xcompose/dotXCompose ~/.XCompose 24 25 git clone 'https://github.com/quite/urlpicker' 26 sudo mkdir -p /usr/lib/urxvt/perl 27 cp ~/apps/urlpicker/url-picker /usr/lib/urxvt/perl/url-picker 28 sudo chmod -R og+rx /usr/lib/urxvt 29 30 cd ~/config 31 mkdir -p ~/.elinks 32 mkdir -p ~/Mail_inbox 33 mkdir -p ~/Mail_inbox/draft_tmp/{cur,new,tmp} 34 mkdir -p ~/.i3 35 mkdir -p ~/.w3m 36 ls ~/config/ | 37 grep -vE "(README|TODO|elinks|mutt|vim|zsh|subversion|i3|weechat|lbdb|w3m|rofi)" | 38 while read l; do ln -s ~/config/$l ~/.$l; done 39 mkdir -p ~/.mutt 40 for a in ~/config/mutt/*; do ln -s $a ~/.mutt/; done 41 ln -s ~/config/elinks ~/.elinks/elinks.conf 42 ln -s ~/config/w3m ~/.w3m/config 43 44 mkdir -p ~/.config/rofi 45 ln -s ~/config/rofi ~/.config/rofi/config.rasi 46 47 for app in vim zsh 48 do 49 mkdir -p ~/.$app 50 for a in ~/config/$app/* 51 do 52 ln -s $a ~/.$app/ 53 done 54 done 55 ln -s ~/.vim/vimrc ~/.vimrc 56 ln -s ~/.zsh/zshrc ~/.zshrc 57 touch ~/.zsh/ps1 58 59 ln -s ~/config/gtk/gtkrc-2.0 ~/.gtkrc-2.0 60 ln -s ~/config/gtk/gtkrc-3.0 ~/.gtkrc-3.0 61 62 mkdir -p ~/.gnupg 63 ln -s ~/config/gnupg/gpg-agent.conf ~/.gnupg/gpg-agent.conf 64 ln -s ~/config/gnupg/gpg.conf ~/.gnupg/gpg.conf 65 66 ln -s ~/config/i3/config ~/.i3/config 67 ln -s ~/config/sway ~/.config/sway 68 ln -s ~/config/mpv ~/.config/mpv 69 ln -s ~/config/latexmk ~/.latexmkrc 70 ln -s ~/config/abcde ~/.abcde.conf 71 ln -s ~/config/reportbugrc ~/.reportbugrc 72 ln -s ~/config/xpdf ~/.xpdfrc 73 ln -s ~/config/tig ~/.tigrc 74 touch ~/.hushlogin 75 ln -s ~/config/i3/status ~/.i3status.conf 76 ln -s ~/config/lbdb ~/.lbdbrc 77 mkdir -p ~/.vim/autoload ~/.vim/bundle 78 curl -LSso ~/.vim/autoload/pathogen.vim 'https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim' 79 cd ~/.vim/bundle 80 git clone 'https://github.com/vim-scripts/vimwiki' 81 git clone 'https://github.com/ervandew/supertab' 82 touch ~/.vim/perso 83 mkdir -p ~/scratch 84 mkdir -p ~/.subversion 85 for a in config servers 86 do 87 ln -s ~/config/subversion/$a ~/.subversion/$a 88 done 89 chmod -R 700 ~/.gnupg 90 mkdir -p ~/.config 91 92 mkdir -p ~/.local/share/applications/ 93 ln -s ~/config/mimeapps.list ~/.config 94 ln -s ~/config/mimeapps.list ~/.local/share/applications/defaults.list 95 ln -s ~/config/firefox/sandboxed_browser.desktop ~/.local/share/applications/ 96 ln -s ~/config/xkb ~/.xkb 97 98 mkdir -p ~/git 99 ln -s ~/git ~/git_wc