# Library
The repository of this website provides a library of reusable functions.
Clone the repository into your home folder and ensure it is updated regurarly.
clone-taskfile(){
if [[ ! -d "$HOME/taskfile.build" ]]; then
echo -e "\033[38;5;214mGit\033[0m: Clone taskfile repo"
git clone https://git.taskfile.build "$HOME/taskfile.build"
else
echo -e "\033[38;5;214mGit\033[0m: Pull taskfile repo"
git -C "$HOME/taskfile.build" pull
fi
}
In your task file you can import these functions from the taskfile library.
if [[ -d "$HOME/taskfile.build/bin" ]; then
for file in "$HOME/taskfile.build/bin/"*; do
if [[ -f "$file" ]]; then
source "$file"
fi
done
fi
# Task
For autocomplete add the command to the help table.
# init-config-dir
printf "$column" "init-config-dir" "" "Setup task file config dir."
# template-dotenv
printf "$column" "template-dotenv" "" "Generate .env from .env.template."
# Python
Set git env vars.
GIT_BRANCH=$(git symbolic-ref --short -q HEAD)
# init-venv
printf "$column" "init-venv" "" "Initialize and activate Python virtual env."
# Environment
# create-odoo-env
printf "$column" "create-odoo-env" "[env]" "Create env file for Odoo instance."
# create-nextcloud-env
printf "$column" "create-nextcloud-env" "[env]" "Create env file for Nextcloud Instance."
# list-env
printf "$column" "list-env" "" "List env files."
# show-env
printf "$column" "show-env" "[env]" "Output content of the env file."
# copy-env
printf "$column" "copy-env" "[env][env]" "Copy env file."
# edit-env
printf "$column" "edit-env" "[env]" "Open env file in default editor."
# load-env
printf "$column" "load-env" "[env]" "Load and export env file."
# rename-env
printf "$column" "rename-env" "[env][env]" "Rename env file."
# remove-env
printf "$column" "remove-env" "[env]" "Remove environment config."
# backup-env-files
printf "$column" "backup-env-files" "[path]" "Archive and copy env files to target location."
# restore-env-files
printf "$column" "restore-env-files" "[path]" "Extract and copy env files from backup file."
# LLM
# commit-with-llm
printf "$column" "commit-with-llm" "" "Commit with llm generated commit message."
# update-with-llm
printf "$column" "update-with-llm" "[glob][prompt]" "Feed files matching glob to LLM and apply changes."
# Git
# update-submodule
printf "$column" "update-submodule" "" "Update git submodules."
# Pass
Set path to pass entry.
PASS_ENTRY=$(echo "env/${PWD##*/}" | tr '[:upper:]' '[:lower:]')
# save-dotenv-to-pass
printf "$column" "save-dotenv-to-pass" "" "Store content of .env in pass entry."
# load-dotenv=from-pass
printf "$column" "load-dotenv=from-pass" "" "Restore content to .env from pass entry."
# KeePass
Set path to KeePass database and entry.
KEEPASS_DATABASE_FILE="/path/to/database.kdbx"
KEEPASS_DATABASE_KEY_FILE="/path/to/keepass.key"
KEEPASS_ENTRY=$(echo "env/${PWD##*/}" | tr '[:upper:]' '[:lower:]')
# save-dotenv-to-keepass
printf "$column" "save-dotenv-to-keepass" "" "Store content of .env in KeePass entry."
# load-dotenv-from-keepass
printf "$column" "load-dotenv-from-keepass" "" "Restore content to .env from KeePass entry."
# Docker
Set Docker env vars.
BUILDX_PLATFORM="linux/amd64"
CONTAINER_REGISTRY="janikvonrotz"
CONTAINER_TAG="python.casa:latest"
DOCKERFILE="image/Dockerfile"
DOCKER_CONFIG="$HOME/.docker/$CONTAINER_REGISTRY/"
# login-docker
printf "$column" "login-docker" "[user][token]" "Run Docker login and create docker config."
# build-image
printf "$column" "build-image" "[output]" "Build Docker image with buildx."