aboutsummaryrefslogtreecommitdiff
path: root/install
blob: ac87f3cb30f2510ee45602a657c2b08010b9eed9 (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
#!/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
	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
	inst local/bin/sshvnc ~/.local/bin/sshvnc
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
	inst config/mypy/ ~/.config/mypy
fi

if ask "sync" "Install synchronization"; then
	inst local/bin/allsync ~/.local/bin/allsync

	inst private/mbsyncrc ~/.mbsyncrc
	inst private/notmuch-config ~/.notmuch-config
	inst private/notmuch-tag-new ~/.notmuch-tag-new
	inst local/bin/email-unread ~/.local/bin/email-unread
	inst local/sbin/newmail-notify ~/.local/sbin/newmail-notify
	inst private/msmtprc ~/.msmtprc
	inst private/astroid/config ~/.config/astroid/config

	inst private/vdirsyncer/ ~/.vdirsyncer
	inst config/khal/config ~/.config/khal/config
	inst config/khard/khard.conf ~/.config/khard/khard.conf

	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.conf ~/.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
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
	inst config/swayidle/ ~/.config/swayidle
fi

if ask "alacritty" "Install configurations for terminal emulator"; then
	inst config/alacritty.yml ~/.config/alacritty.yml
fi

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

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

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