🐚 🐚 TuskLang Bash Installation Guide
🐚 TuskLang Bash Installation Guide
"We don't bow to any king" - Get TuskLang running in your shell
Welcome to the revolutionary world of TuskLang for Bash! This guide will get you up and running with the most powerful configuration language ever created, designed specifically for shell scripting and system administration.
🚀 Quick Installation
One-Line Install (Recommended)
Direct install via curl
curl -sSL https://bash.tuskt.sk/install.sh | bashAlternative via wget
wget -qO- https://bash.tuskt.sk/install.sh | bashWith sudo (if needed)
curl -sSL https://bash.tuskt.sk/install.sh | sudo bash
Manual Installation
Download the TuskLang Bash SDK
wget https://github.com/bgengs/tusklang/releases/latest/download/tusk-bash.shMake executable
chmod +x tusk-bash.shInstall globally
sudo mv tusk-bash.sh /usr/local/bin/tuskCreate symlink for convenience
sudo ln -sf /usr/local/bin/tusk /usr/local/bin/tusklang
Package Manager Installation
#### Ubuntu/Debian
Add TuskLang repository
curl -fsSL https://bash.tuskt.sk/gpg | sudo gpg --dearmor -o /usr/share/keyrings/tusklang-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/tusklang-archive-keyring.gpg] https://bash.tuskt.sk/apt stable main" | sudo tee /etc/apt/sources.list.d/tusklang.listInstall
sudo apt update
sudo apt install tusklang-bash
#### CentOS/RHEL/Fedora
Add repository
sudo dnf config-manager --add-repo https://bash.tuskt.sk/rpm/tusklang.repoInstall
sudo dnf install tusklang-bash
✅ Verification
Check Installation
Verify TuskLang is installed
tusk --versionExpected output:
TuskLang Bash SDK v2.1.0
"Configuration with a Heartbeat"
Check available commands
tusk --helpTest basic functionality
tusk parse --help
Quick Test
Create a test configuration
cat > test.tsk << 'EOF'
$app_name: "TuskLang Test"
$version: "1.0.0"[server]
host: "localhost"
port: 8080
debug: true
[database]
host: @env("DB_HOST", "localhost")
port: @env("DB_PORT", 5432)
EOF
Parse the configuration
tusk parse test.tskGet specific values
tusk get test.tsk server.host
tusk get test.tsk database.host
🔧 System Requirements
Minimum Requirements
- Bash: 4.0 or higher - Operating System: Linux, macOS, or WSL - Memory: 128MB RAM - Disk Space: 50MB free spaceRecommended Requirements
- Bash: 5.0 or higher - Operating System: Ubuntu 20.04+, CentOS 8+, macOS 10.15+ - Memory: 512MB RAM - Disk Space: 100MB free spaceCheck Your System
Check Bash version
bash --versionCheck available memory
free -hCheck disk space
df -hCheck if required tools are available
command -v curl >/dev/null 2>&1 || echo "curl not found"
command -v wget >/dev/null 2>&1 || echo "wget not found"
command -v jq >/dev/null 2>&1 || echo "jq not found (recommended)"
🐳 Docker Installation
Quick Docker Setup
Pull the official TuskLang image
docker pull tusklang/bash:latestRun TuskLang in container
docker run --rm -it -v $(pwd):/workspace tusklang/bash:latestOr run specific commands
docker run --rm -v $(pwd):/workspace tusklang/bash:latest tusk parse config.tsk
Docker Compose Setup
Create docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
tusk:
image: tusklang/bash:latest
volumes:
- .:/workspace
working_dir: /workspace
command: tusk watch config.tsk
environment:
- TUSK_DEBUG=1
EOFRun with Docker Compose
docker-compose up
🔒 Security Installation
Secure Installation with Verification
Download with signature verification
curl -sSL https://bash.tuskt.sk/install.sh -o install.sh
curl -sSL https://bash.tuskt.sk/install.sh.sig -o install.sh.sigVerify signature
gpg --verify install.sh.sig install.shIf verification passes, install
bash install.sh
Isolated Installation
Create isolated environment
mkdir ~/tusklang-isolated
cd ~/tusklang-isolatedDownload to isolated directory
curl -sSL https://bash.tuskt.sk/install.sh | bash -s -- --prefix=~/tusklang-isolatedAdd to PATH only when needed
export PATH="$HOME/tusklang-isolated/bin:$PATH"
🛠️ Development Installation
From Source
Clone repository
git clone https://github.com/bgengs/tusklang.git
cd tusklang/bashInstall dependencies
sudo apt install bash jq curl wgetBuild and install
make installOr install locally
make install PREFIX=~/.local
Development Environment
Set up development environment
export TUSK_DEV=1
export TUSK_DEBUG=1
export TUSK_LOG_LEVEL=debugInstall with development features
curl -sSL https://bash.tuskt.sk/install.sh | bash -s -- --dev
🔧 Configuration
Global Configuration
Create global configuration directory
sudo mkdir -p /etc/tusklangCreate global config
sudo tee /etc/tusklang/global.tsk << 'EOF'
[global]
debug: false
log_level: "info"
cache_dir: "/var/cache/tusklang"
config_dir: "/etc/tusklang"[security]
verify_signatures: true
allow_remote_exec: false
max_file_size: "10MB"
EOF
User Configuration
Create user configuration
mkdir -p ~/.config/tusklangcat > ~/.config/tusklang/user.tsk << 'EOF'
[user]
name: @env("USER")
home: @env("HOME")
editor: @env("EDITOR", "nano")
[preferences]
default_syntax: "traditional"
auto_backup: true
backup_count: 5
EOF
🚨 Troubleshooting
Common Issues
#### Permission Denied
Fix permission issues
sudo chmod +x /usr/local/bin/tusk
sudo chown $USER:$USER /usr/local/bin/tuskOr install to user directory
curl -sSL https://bash.tuskt.sk/install.sh | bash -s -- --prefix=~/.local
#### Command Not Found
Add to PATH
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcOr create symlink
sudo ln -sf /usr/local/bin/tusk /usr/bin/tusk
#### Network Issues
Check connectivity
curl -I https://bash.tuskt.skUse alternative download
wget --no-check-certificate https://bash.tuskt.sk/install.shOr download from GitHub
curl -sSL https://raw.githubusercontent.com/bgengs/tusklang/main/bash/install.sh | bash
Debug Mode
Enable debug mode
export TUSK_DEBUG=1
export TUSK_LOG_LEVEL=debugRun with verbose output
tusk parse config.tsk --verboseCheck logs
tail -f /var/log/tusklang.log
Uninstall
Remove TuskLang
sudo rm -f /usr/local/bin/tusk
sudo rm -f /usr/local/bin/tusklangRemove configuration
rm -rf ~/.config/tusklang
sudo rm -rf /etc/tusklangRemove cache
rm -rf ~/.cache/tusklang
sudo rm -rf /var/cache/tusklang
🎯 Next Steps
Now that you have TuskLang installed, you're ready to:
1. Learn Basic Syntax → 002-quick-start-bash.md 2. Master @ Operators → 003-basic-syntax-bash.md 3. Integrate with Databases → 004-database-integration-bash.md 4. Build Advanced Scripts → 005-advanced-features-bash.md
🔗 Resources
- Official Website: https://tuskt.sk - Bash SDK Documentation: https://bash.tuskt.sk - GitHub Repository: https://github.com/bgengs/tusklang - Community Forum: https://community.tuskt.sk - Bug Reports: https://github.com/bgengs/tusklang/issues
---
Ready to revolutionize your shell scripting? Let's Tusk! 🐚