#!/bin/bash # Check if pyproject.toml exists in the current directory if [ ! -f "pyproject.toml" ]; then echo "Poetry could not find a pyproject.toml file in the current directory or its parents." echo "Please navigate to the project directory where pyproject.toml is located and rerun this script." exit 1 fi # Installs poetry-based python dependencies echo "Installing python dependencies" poetry install # List of commands to check and add or update alias for # Add 'yt' and 'ts' to the list of commands commands=("fabric" "fabric-api" "fabric-webui" "ts" "yt") # Path to the bootstrap file bootstrap_file="$HOME/.config/fabric/fabric-bootstrap.inc" # Ensure the directory for the bootstrap file exists mkdir -p "$(dirname "$bootstrap_file")" # Start the bootstrap file with a shebang if it doesn't already exist if [ ! -f "$bootstrap_file" ]; then echo "#!/bin/bash" > "$bootstrap_file" fi # List of shell configuration files to update config_files=("$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.bash_profile") for config_file in "${config_files[@]}"; do # Check if the configuration file exists if [ -f "$config_file" ]; then echo "Checking $config_file" # Ensure the bootstrap script is sourced from the shell configuration file source_line="if [ -f \"$bootstrap_file\" ]; then . \"$bootstrap_file\"; fi" if ! grep -qF -- "$source_line" "$config_file"; then echo -e "\n# Load custom aliases\n$source_line" >> "$config_file" echo "Added source command for $bootstrap_file in $config_file." fi sed -i '' '/alias fabric=/d' "$config_file" sed -i '' '/fabric --pattern/d' "$config_file" else echo "$config_file does not exist." fi done # Add aliases to the bootstrap file for cmd in "${commands[@]}"; do CMD_PATH=$(poetry run which $cmd 2>/dev/null) if [ -z "$CMD_PATH" ]; then echo "Command $cmd not found in the current Poetry environment." continue fi # Check if the alias already exists in the bootstrap file if ! grep -qF "alias $cmd=" "$bootstrap_file"; then echo "alias $cmd='$CMD_PATH'" >> "$bootstrap_file" echo "Added alias for $cmd to $bootstrap_file." fi done echo "Setup completed. Please restart your terminal or source your configuration files to apply changes."