aboutsummaryrefslogtreecommitdiff
path: root/install
blob: 74f9acd174f90fa6a8378c9cdfa7b613bfe83a9d (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
112
113
114
115
116
117
118
119
120
#!/bin/sh

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 "profile" "Install shell profile"; then
	inst profile ~/.profile
	inst zprofile ~/.zprofile
fi

if ask "git" "Install GIT configuration"; then
	inst gitconfig ~/.gitconfig
	inst gitignore ~/.gitignore
	git config --global core.excludesfile ~/.gitignore
	inst local/bin/cznic-git-config ~/.local/bin/cznic-git-config
fi

if ask "gpg" "Install GPG configuration"; then
	inst gnupg/gpg.conf ~/.gnupg/gpg.conf
fi

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

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

if ask "vim" "Install VIM scripts"; then
	inst vimrc ~/.vimrc
	inst vim/ ~/.vim
	mkdir -p ~/.cache/vim # directory for *.swp files
	mkdir -p ~/.cache/vim-undo # directory for undo files
	# Vim plugin manager
	[ -d ~/.vim/bundle/Vundle.vim ] || {
		mkdir -p ~/.vim/bundle
		git clone "https://github.com/VundleVim/Vundle.vim.git" ~/.vim/bundle/Vundle.vim
	}
	vim +PluginUpdate +qall
fi

if ask "dev" "Development tools configuration"; then
	inst config/pycodestyle ~/.config/pycodestyle
	inst flake8 ~/.flake8
	inst pylintrc ~/.pylintrc
fi

if ask "cal" "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 "mutt" "Install mutt configuration"; then
	inst urlview ~/.urlview
	inst lynxrc ~/.lynxrc
	inst mutt/mailcap ~/.mutt/
	inst mutt/color ~/.mutt/
	inst private/mutt/ ~/.mutt
	inst private/msmtprc ~/.msmtprc
	mkdir -p ~/.cache/mutt # directory for temporaly html files
fi

if ask "sync" "Install synchronization"; then
	inst local/bin/allsync ~/.local/bin/allsync
	inst local/bin/email-unread ~/.local/bin/email-unread
	inst local/sbin/newmail-notify ~/.local/sbin/newmail-notify
	inst private/mbsyncrc ~/.mbsyncrc
	inst_sync
fi

if ask "desktop" "Install desktop generic"; then
	# 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
	# Generic i3/sway
	inst config/dunst/ ~/.config/dunst
	inst config/i3blocks/ ~/.config/i3blocks
fi

if ask "xorg" "Install XOrg (i3)"; then
	inst xinitrc ~/.xinitrc
	inst Xresources ~/.Xresources
	inst config/i3/ ~/.config/i3
	inst local/bin/mxrandr ~/.local/bin/
fi

if ask "wayland" "Install Wayland (sway)"; then
	inst Xresources ~/.Xdefaults # X resources for wayland session
	inst config/sway/ ~/.config/sway
	inst config/swaylock/ ~/.config/swaylock
fi

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

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

if ask "wake-desktop" "Install wake-desktop"; then
	inst local/bin/wake-desktop ~/.local/bin/wake-desktop
fi