summaryrefslogtreecommitdiff
path: root/modules/10-i3/install.sh
blob: dfb45012e431c59acbd23ea500c978e54d8caafe (plain) (blame)
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
_script="$(realpath ${BASH_SOURCE[0]})"
_scriptname="$(basename $_script)"
_scriptdir="$(dirname $_script)"
_modulename="$(basename $_scriptdir)"
DOT_MODULE_NAME="i3"

function preinstall() {
	if ! [[ -x "$(command -v i3)" ]]; then
		PACKAGES+=("i3-gaps" "i3status")
	fi
	if ! [[ -x "$(command -v i3lock)" ]]; then
		PACKAGES+=("i3lock" "polkit")
	fi
	if ! [[ -x "$(command -v dmenu)" ]]; then
		PACKAGES+=("dmenu")
	fi
	if ! [[ -x "$(command -v startx)" ]]; then
		PACKAGES+=("xorg" "xorg-xinit")
	fi
	if ! [[ -x "$(command -v xss-lock)" ]]; then
		PACKAGES+=("xss-lock")
	fi
	if ! [[ -x "$(command -v scrot)" ]]; then
		PACKAGES+=("scrot")
	fi
	if ! [[ -x "$(command -v convert)" ]]; then
		PACKAGES+=("imagemagick")
	fi
}

function install() {
	# backup old file if it exists and we haven't backed it up before
	if [[ -f "$HOME/.config/i3/config" ]] && ! [[ -f "$HOME/.config/i3/config.bak" ]] && ! [[ -f "$_scriptdir/.firstrun" ]]; then
		log verbose "making backup"
		cp "$HOME/.config/i3/config" "$HOME/.config/i3/config.bak"
		touch "$_scriptdir/.firstrun"
	fi

	log info "linking i3 config"
	mkdir -p "$HOME/.config/i3"
	ln -sf "$_scriptdir/config" "$HOME/.config/i3/config"

	log info "linking xinitrc"
	ln -sf "$_scriptdir/xinitrc" "$HOME/.xinitrc"
}