aboutsummaryrefslogtreecommitdiff
path: root/install
blob: 943cee4716064386d36c7ab3eae9616761942937 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/bash

cd `dirname $0`

git submodule update --init --recursive || (echo "Submodule update failed!"; exit 5)

# Source inst and diff function
. ./utils/inst

# Load if we force changes (implies no interaction)
[ "$1" = "-f" ] && FORCE=true || FORCE=false

#################################################################################
source private/install # private files, sorry but some privacy is required.

# TODO on hosts without shellrc we might want some thin shellrc to be installed
if ask "Install shell profile"; then
	inst profile ~/.profile
	inst zprofile ~/.zprofile
fi

if ask "Install GIT configuration"; then
	inst gitconfig ~/.gitconfig
	inst local/git-prompt.sh ~/.local/
fi

if ask "Install configurations for various utility tools"; then
	inst screenrc ~/.screenrc
fi

if ask "Install user services"; then
	inst local/sbin/user-service.sh ~/.local/sbin/user-service.sh
	inst service/ ~/.service/
fi

if ask "Install SSH config"; then
	inst private/ssh_config ~/.ssh/config
fi

YCM_PATH=~/.vim/bundle/YouCompleteMe
if ask "Install VIM scripts"; then
	# See if we have anything different from what we have in repository
	YCM_REV="$(cd $YCM_PATH && git --work-tree=. diff --exit-code -s && echo y)"
	inst vimrc ~/.vimrc
	inst vim/ ~/.vim
	inst local/bin/vim-project-gen ~/.local/bin/vim-project-gen
	mkdir -p ~/.cache/vim # directory for *.swp files
	mkdir -p ~/.cache/vim-undo # directory for undo files
	if [ "$YCM_REV" != "y" ]; then (
		cd $YCM_PATH
		./install.py --clang-completer --system-libclang
	); else
		echo "YouCompleteMe is not required to be recompiled"
	fi
fi

if ask "Install email synchronization"; then
	inst local/bin/email-unread ~/.local/bin/email-unread
	inst local/sbin/newmail-notify ~/.local/sbin/newmail-notify
	inst_email_sync
	# Contains:
	# inst config/offlineimap/ ~/.config/offlineimap
	inst config/offlineimap/plugin.py ~/.config/offlineimap/plugin.py
fi

if ask "Install mutt configuration"; then
	inst urlview ~/.urlview
	inst lynxrc ~/.lynxrc
	inst mutt/mailcap ~/.mutt/
	inst mutt/gpg.rc ~/.mutt/
	inst mutt/color ~/.mutt/
	inst_mutt_conf
	# Contains:
	# inst mutt/ ~/.mutt
	# inst msmtprc ~/.msmtprc
	mkdir -p ~/.cache/mutt # directory for temporaly html files
fi

if ask "Install desktop (i3..)"; then
	inst xinitrc ~/.xinitrc
	inst Xresources ~/.Xresources
	inst config/i3/ ~/.config/i3
	inst config/i3blocks/ ~/.config/i3blocks
	inst config/dunst/ ~/.config/dunst
	inst local/bin/mxrandr ~/.local/bin/
	# Theme
	inst gtk-2.0/gtkrc ~/.gtkrc-2.0
	inst gtk-3.0/ ~/.config/gtk-3.0/
	inst config/Trolltech.conf ~/.config/Trolltech.conf
	# User directories
	inst config/user-dirs.dirs ~/.config/user-dirs.dirs
fi

if ask "Install calendar and contacts"; then
	inst config/khal/config ~/.config/khal/config
	inst config/khard/khard.conf ~/.config/khard/khard.conf
	inst private/vdirsyncer/ ~/.vdirsyncer
fi

if ask "Install Surf configuration"; then
	inst surf/script.js ~/.surf/script.js
	inst surf/styles/default.css ~/.surf/styles/default.css
fi

if ask "Install MPD configuration"; then
	inst config/mpd/ ~/.config/mpd
fi

if ask "Install backup script"; then
	inst local/bin/system-backup ~/.local/bin/system-backup
fi