Files
git.taskfile.build/library.md
T
Janik von Rotz fcc8d8078a feat(task): rename TASK_CONFIG_DIR to TASK_DOTENV_DIR and update related functions
- Replace all instances of `TASK_CONFIG_DIR` with `TASK_DOTENV_DIR` across environment-related scripts
- Update `init-config-dir` function name to `init-dotenv-dir` for consistency
- Adjust documentation and help table entries to reflect the renamed variable and function
- Maintain existing functionality and code style throughout affected scripts
2025-11-27 16:55:59 +01:00

271 lines
5.0 KiB
Markdown

---
layout: layouts/base.njk
---
# Library
The repository of this website provides a library of reusable functions.
Clone the repository into your home folder and ensure it is updated regularly.
```bash
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 import all commands from the taskfile library.
```bash
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
Configure the task commands.
```bash
OPEN_BROWSER=False # Default: True
TASK_DOTENV_DIR="$HOME/Odoo-Build/config" # Default: "$HOME/.config/taskfile.build"
```
### init-config-dir
```bash
printf "$column" 'init-dotenv-dir' '' 'Setup task dotenv dir.'
```
### template-dotenv
```bash
printf "$column" 'template-dotenv' '' 'Generate .env from .env.template.'
```
### open-with-os
```bash
printf "$column" 'open-with-os' '' 'Open file or url with default application.'
```
### open-url-with-delay
```bash
printf "$column" 'open-url-with-delay' '[url][delay]' 'Open url after n seconds.'
```
## Files
### ensure-directory
```bash
printf "$column" 'ensure-directory' '[path]' 'Ensure directory path exists.'
```
### create-symlink
```bash
printf "$column" 'create-symlink' '[source][target]' 'Remove existing file/directory and create symlink.'
```
### create-symlink-files
```bash
printf "$column" 'create-symlink-files' '[source][target]' 'Create symlink for files in source pattern.'
```
## Python
### activate-venv
```bash
printf "$column" 'activate-venv' '' 'Activate or initialize Python virtual env.'
```
## Environment
Manage `.env` files in the task config folder.
```bash
TASK_DOTENV_DIR="$HOME/Odoo-Build/config" # Default: "$HOME/.config/taskfile.build"
```
### create-env
```bash
printf "$column" 'create-env' '[env][type]' 'Create env file of type nextcloud, odoo, upgrade.'
```
### list-env
```bash
printf "$column" 'list-env' '' 'List env files.'
```
### show-env
```bash
printf "$column" 'show-env' '[env]' 'Output content of the env file.'
```
### copy-env
```bash
printf "$column" 'copy-env' '[env][env]' 'Copy env file.'
```
### edit-env
```bash
printf "$column" 'edit-env' '[env]' 'Open env file in default editor.'
```
### load-env
```bash
printf "$column" 'load-env' '[env]' 'Load and export env file.'
```
### rename-env
```bash
printf "$column" 'rename-env' '[env][env]' 'Rename env file.'
```
### remove-env
```bash
printf "$column" 'remove-env' '[env]' 'Remove environment config.'
```
### backup-env-files
```bash
printf "$column" 'backup-env-files' '[path]' 'Archive and copy env files to target location.'
```
### restore-env-files
```bash
printf "$column" 'restore-env-files' '[path]' 'Extract and copy env files from backup file.'
```
## LLM
### commit-with-llm
```bash
printf "$column" 'commit-with-llm' '' 'Commit with llm generated commit message.'
```
### update-with-llm
```bash
printf "$column" 'update-with-llm' '[glob][prompt]' 'Feed files matching glob to LLM and apply changes.'
```
## Logging
### log-warning
```bash
printf "$column" 'log-warning' '' 'Colored output for warnings.'
```
## Git
### update-submodule
```bash
printf "$column" 'update-submodule' '' 'Update git submodules.'
```
## Pass
Set path to pass entry.
```bash
PASS_ENTRY=$(echo "env/${PWD##*/}" | tr '[:upper:]' '[:lower:]')
```
### save-dotenv-to-pass
```bash
printf "$column" 'save-dotenv-to-pass' '' 'Store content of .env in pass entry.'
```
### load-dotenv-from-pass
```bash
printf "$column" 'load-dotenv-from-pass' '' 'Restore content to .env from pass entry.'
```
## KeePass
Set path to KeePass database and entry.
```bash
KEEPASS_DATABASE_FILE="/path/to/database.kdbx"
KEEPASS_DATABASE_KEY_FILE="/path/to/keepass.key"
KEEPASS_ENTRY=$(echo "env/${PWD##*/}" | tr '[:upper:]' '[:lower:]')
```
### save-pass-to-keepass
```bash
printf "$column" 'save-pass-to-keepass' '[pass][entry]' 'Store password to KeePass entry.'
```
### get-pass-from-keepass
```bash
printf "$column" 'get-pass-from-keepass' '[entry]' 'Get password from KeePass entry.'
```
### save-dotenv-to-keepass
```bash
printf "$column" 'save-dotenv-to-keepass' '' 'Store content of .env in KeePass entry.'
```
### load-dotenv-from-keepass
```bash
printf "$column" 'load-dotenv-from-keepass' '' 'Restore content to .env from KeePass entry.'
```
## Docker
Set Docker env vars.
```bash
BUILDX_PLATFORM="linux/amd64"
CONTAINER_REGISTRY="janikvonrotz"
CONTAINER_TAG="python.casa:latest"
DOCKERFILE="image/Dockerfile"
DOCKER_CONFIG="$HOME/.docker/$CONTAINER_REGISTRY/"
```
### login-docker
```bash
printf "$column" 'login-docker' '[user][token]' 'Run Docker login and create docker config.'
```
### build-image
```bash
printf "$column" 'build-image' '[output]' 'Build Docker image with buildx.'
```