Stable v1.1.0

🐚 shtick

Shell configuration manager supporting 16 shells

shtick allows you to organize shell aliases, environment variables, and functions into manageable groups that can be activated/deactivated across 16 different shell environments. Changes take effect immediately with the auto-sourcing wrapper. Written in C for portability with no runtime dependencies.

🎯 RPM Available

Installation

Fedora / RHEL 9

# Add the musicsian repository (first time only) sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo # Install shtick sudo dnf install shtick # Run setup script sudo /usr/share/shtick/setup.sh

From Source

# Clone, build, install, and configure git clone https://github.com/tenseleyFlow/shtickC.git cd shtickC make setup

Shell Integration

The setup script configures auto-sourcing. Or manually add to your shell config:

# Get the wrapper function shtick wrapper bash >> ~/.bashrc source ~/.bashrc # Or manual sourcing (without wrapper) echo 'source ~/.config/shtick/load_active.bash' >> ~/.bashrc

Quick Start

# Add to persistent group (always active) shtick alias ll='ls -la' shtick alias grep='grep --color=auto' shtick env EDITOR=vim # Aliases work immediately with wrapper! ll

Supported Shells

shtick generates configuration for 16 shells:

bashzshfishkshtcshcshdashashmkshpdkshyashxonshelvishnuionpwsh

Dependencies

  • Build: gcc, make
  • Runtime: bash (for setup script)