aboutsummaryrefslogtreecommitdiff
path: root/install
blob: 0af57163bd7458821e3959601f7544e20f2b2c02 (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
121
122
123
124
125
126
127
#!/usr/bin/env bash

cd "$(dirname "$0")" || exit 1

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
fi

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

if ask "clituls" "Install configurations for various CLI utility tools"; then
	inst screenrc ~/.screenrc
	inst config/mc/mc.ext ~/.config/mc/mc.ext
fi

if ask "ssh" "Install SSH config"; then
	mkdir -p ~/.cache/ssh # directory for sockets
	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
	# cs spelling
	mkdir -p ~/.vim/spell
	curl "http://ftp.vim.org/vim/runtime/spell/cs.utf-8.spl" > ~/.vim/spell/cs.utf-8.spl
fi

if ask "dev" "Development tools configuration"; then
	inst pdbrc ~/.pdbrc
	inst config/pycodestyle ~/.config/pycodestyle
	inst flake8 ~/.flake8
	inst pylintrc ~/.pylintrc
	inst config/mypy/ ~/.config/mypy
	inst local/bin/new-flake-dev ~/.local/bin/new-flake-dev
fi

if ask "sync" "Install synchronization"; then
	inst local/bin/allsync ~/.local/bin/allsync
	if [ "$(ps -o comm= 1)" = "systemd" ]; then
		inst config/systemd/user/allsync.service ~/.config/systemd/user/
		inst config/systemd/user/allsync.timer ~/.config/systemd/user/
	fi

	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"; 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
	# Sway
	inst local/bin/startsway ~/.local/bin/startsway
	inst config/sway/ ~/.config/sway
	inst Xdefaults ~/.Xdefaults
	inst config/dunst/ ~/.config/dunst
	inst config/i3blocks/ ~/.config/i3blocks
	inst config/swaylock/ ~/.config/swaylock
	inst config/swayidle/ ~/.config/swayidle
	inst config/wofi/ ~/.config/wofi
	[ -f "private/kanshi/$(hostname)" ] \
		&& inst "private/kanshi/$(hostname)" ~/.config/kanshi/config
	inst config/xdg-desktop-portal-wlr/ ~/.config/xdg-desktop-portal-wlr
	inst local/bin/wlr-select-screen ~/.local/bin/wlr-select-screen
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 "elektroline" "Install Elektroline scripts"; then
	inst local/bin/elektroline-git-config ~/.local/bin/elektroline-git-config
	inst local/bin/elektroline-windows ~/.local/bin/elektroline-windows
	inst local/bin/elektroline00 ~/.local/bin/elektroline00
fi

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