← Back to Repository

🐚 Shtick - Shell Configuration Manager

Shell configuration manager with support for 16 different shells

Provides persistent aliases, environment variables, and functions across bash, zsh, fish, nu, elvish, and more. Manage different environments with groups and activate/deactivate them as needed.

📦 Installation Options

RHEL/CentOS/Rocky/Alma/Fedora
🚀 RPM Install
# Add repository
sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo # Install package
sudo dnf install shtick # Add a persistent alias across all shells
shtick alias ll='ls -la'
Arch Linux
🏛️ AUR Package Available
# Install using yay
yay -S shtick # Or using paru
paru -S shtick # Add a persistent alias across all shells
shtick alias ll='ls -la'

Full Usage Documentation

shtick - Shell configuration manager (C port) Usage: shtick alias Show all aliases shtick alias Show specific alias definition shtick alias Add persistent alias shtick env Show all environment variables shtick env Show specific env var definition shtick env Add persistent env var shtick function Show all functions shtick function Show function or create interactively shtick function Add persistent function shtick function -f Add function from file shtick add alias Add alias to group shtick add env Add env var to group shtick add function Add function to group shtick remove Remove item from any group shtick remove alias Remove alias from specific group shtick remove env Remove env var from specific group shtick remove function Remove function from specific group shtick create Create a new group shtick delete Delete a group and all its items shtick rename Rename a group shtick groups List all groups shtick activate Activate a group shtick deactivate Deactivate a group shtick status Show status shtick list List all items shtick generate [shell|all] Generate shell files shtick shells List all supported shells shtick init [shell] Show setup instructions shtick completions [shell|all] Generate shell completions Examples: shtick alias ll='ls -la' # Quick alias shtick function mkcd # Interactive function editor shtick function greet='echo "Hello, $1!"' # One-line function shtick create work # Create 'work' group shtick add function work deploy='./scripts/deploy.sh prod' shtick activate work # Activate work environment shtick groups # List all groups shtick init # Show setup instructions shtick generate all # Generate for all 16 shells shtick completions bash # Generate bash completions Supported shells (16 total): Common: bash, zsh, fish, ksh, tcsh, csh, dash, pwsh Modern: xonsh, elvish, nu, ion Others: ash, mksh, pdksh, yash Generate for all shells: shtick generate all # Generate for all 16 shells shtick completions all # Generate completions for all shells Completion Setup: Bash: source ~/.config/shtick/completion.bash Zsh: fpath=(~/.config/shtick $fpath) Fish: Completions load automatically Pwsh: . ~/.config/shtick/completion.ps1 Elvish: use shtick-completions Nu: source ~/.config/nu/completions/shtick-completions.nu