diff options
| author | 2025-08-14 15:12:32 +0500 | |
|---|---|---|
| committer | 2025-08-14 15:12:32 +0500 | |
| commit | 9f5be600a459451e6b2f3396f084092ff392d2f7 (patch) | |
| tree | 7e18040238f087116a581899efcb1d236810aa7d | |
| parent | f4da21bba311329072b4d194fcea91dd37aa5f8a (diff) | |
add lib dir
| -rw-r--r-- | lib/environment.sh | 136 | ||||
| -rw-r--r-- | lib/func.sh | 89 |
2 files changed, 225 insertions, 0 deletions
diff --git a/lib/environment.sh b/lib/environment.sh new file mode 100644 index 0000000..5bd45eb --- /dev/null +++ b/lib/environment.sh @@ -0,0 +1,136 @@ +# shellcheck disable=SC2016 + +#****F* lib/environment.sh +# NAME +# +# environment.sh - файл c основными константами и переменными. +# +# USED BY +# +# - menu.sh +# - clone-dotfiles.sh +#****** + +# Global +# +#****d* environment.sh/ROOT_DIR +# NAME +# +# ROOT_DIR - корень проекта. +# +# USED BY +# +# - BIN_DIR +# - LIB_DIR +#****** +export ROOT_DIR +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +#****d* environment.sh/BIN_DIR +# NAME +# +# BIN_DIR - папка bin. +#****** +export BIN_DIR="$ROOT_DIR/bin" + +#****d* environment.sh/LIB_DIR +# NAME +# +# LIB_DIR - папка lib. +#****** +export LIB_DIR="$ROOT_DIR/lib" + +#****d* environment.sh/DOMAIN +# NAME +# +# DOMAIN - основное доменное имя. +# +# USED BY +# +# - SOFT_SERVE_DOMAIN +#****** +export DOMAIN="bluig.xyz" + +#****d* environment.sh/KEEPASSXC_MASTER_PASSWORD +# NAME +# +# KEEPASSXC_MASTER_PASSWORD - мастер-ключ базы данных с паролями программы KeePassXC. +# +# USED BY +# +# - func.sh +# - openKeepass +#****** +export KEEPASSXC_MASTER_PASSWORD="/tmp/keepassxc.mp" + +#****d* environment.sh/KEEPASSXC_BASE +# NAME +# +# KEEPASSXC_BASE - файл базы данных с паролями для программы KeePassXC. +# +# USED BY +# +# - func.sh +# - openKeepass +#****** +export KEEPASSXC_BASE="$HOME/Passwords.kdbx" + +#****d* environment.sh/KEEPASSXC_SOFT_SERVE_ENTRY +# NAME +# +# KEEPASSXC_SOFT_SERVE_ENTRY - запись soft-serve в базе данных KeePassXC. +# +# USED BY +# +# - func.sh +# - openKeepass +#****** +export KEEPASSXC_SOFT_SERVE_ENTRY="soft-serve" + +#****d* environment.sh/KEEPASSXC_SOFT_SERVE_ATTRIBUTE_HTTPS_TOKEN +# NAME +# +# KEEPASSXC_SOFT_SERVE_ATTRIBUTE_HTTPS_TOKEN - название атрибута записи soft-serve в базе данных KeePassXC. +# +# USED BY +# +# - func.sh +# - openKeepass +#****** +export KEEPASSXC_SOFT_SERVE_ATTRIBUTE_HTTPS_TOKEN="https-token" + +#****d* environment.sh/SOFT_SERVE_DOMAIN +# NAME +# +# SOFT_SERVE_DOMAIN - поддомен git-сервера soft-serve. +# +# USED BY +# +# - func.sh +# - cloneInit +#****** +export SOFT_SERVE_DOMAIN="ss.$DOMAIN" + +#****d* environment.sh/PIPX_YADISK_DIRECT_PKG +# NAME +# +# PIPX_YADISK_DIRECT_PKG - пакет для скачивания файлов по ссылке с яндекс диска. +# +# USED BY +# +# - func.sh +# - pipxInstall +#****** +export PIPX_YADISK_DIRECT_PKG="wldhx.yadisk-direct" + +#****d* environment.sh/PIPX_YADISK_DIRECT_PKG_DIR +# NAME +# +# PIPX_YADISK_DIRECT_PKG_DIR - пакет для скачивания файлов по ссылке с яндекс диска. +# +# USED BY +# +# - func.sh +# - getKdbxFile +#****** +export PIPX_YADISK_DIRECT_PKG_DIR="$HOME/.local/bin/yadisk-direct" diff --git a/lib/func.sh b/lib/func.sh new file mode 100644 index 0000000..50575ef --- /dev/null +++ b/lib/func.sh @@ -0,0 +1,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" +} |
