aboutsummaryrefslogtreecommitdiff
path: root/lib/func.sh
blob: 50575ef740d6111dad7e0a6306ee7a6c6968780a (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
#****F* lib/func.sh
# NAME
#
# func.sh - файл c основными функциями.
#
# USED BY
#
# - clone-dotfiles.sh
#******

#****f* func.sh/setStatusE
# NAME
#
# setStatusE - инвертирование строк начинающихся с знака #.
#
# -e - любая команда
#
# ARGUMENTS
#
# toggle - строка для включения или выключения.
#
# USAGE
#
# setStatusE <toggle>
#
# EXAMPLE
#
# setStatusE "on"
# setStatusE "off"
#
# SEE ALSO
#
# Подробнее про set в: man bash, 4070 стр.
#******
function setStatusE() {
	if [[ "$1" == "on" ]]; then
		set -euo pipefail
	elif [[ "$1" == "off" ]]; then
		set +eu
		set +o pipefail
	fi
}

#****f* func.sh/getKdbxFile
# NAME
#
# getKdbxFile - скачивает Password.kdbx с яндекс диска.
#******
function getKdbxFile() {
	read -r -s -p "Введи url на kdbx файл: " KEEPASSXC_BASE_URL
	read -r passwordFileLink < <("$PIPX_YADISK_DIRECT_PKG_DIR" "https://yadi.sk/d/$KEEPASSXC_BASE_URL")

	wget "$passwordFileLink" -O "$KEEPASSXC_BASE"
}

#****f* func.sh/getHttpsToken
# NAME
#
# openKeepass - возвращает HTTPS_TOKEN.
#******
function getHttpsToken() {
	setStatusE "off"

	read -r -s -p "Введи мастер-пароль: " MASTER_PASSWORD

	echo "$MASTER_PASSWORD" >"$KEEPASSXC_MASTER_PASSWORD"

	HTTPS_TOKEN=$(keepassxc-cli show --attributes "$KEEPASSXC_SOFT_SERVE_ATTRIBUTE_HTTPS_TOKEN" "$KEEPASSXC_BASE" "$KEEPASSXC_SOFT_SERVE_ENTRY" <<<"${MASTER_PASSWORD}")
	return 0
}

#****f* func.sh/pipxInstall
# NAME
#
# pipxInstall - установки пакетров через pipx.
#******
function pipxInstall() {
	pipx install -f "$PIPX_YADISK_DIRECT_PKG"
	return 0
}

#****f* func.sh/cloneInit
# NAME
#
# cloneInit - клонирование проекта .init с soft-serve.
#******
function cloneInit() {
	git clone "https://$HTTPS_TOKEN@$SOFT_SERVE_DOMAIN/.init.git" "$HOME/init"
}