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