#!/usr/bin/bash # CONSTANTS BASEDIR=$(dirname "$0") # FUNCTIONS function install_rails_templating { if [[ ! -d $HOME/.local/rails ]]; then mkdir -p $HOME/.local/rails ln -sf $(realpath $BASEDIR/src/railsrc) $HOME/.railsrc ln -sf $(realpath $BASEDIR/src/template.rb) $HOME/.local/rails/template.rb echo rails-templating installed succesfully! else echo rails-templating already installed! fi } function install_ruby { if ! command -v ruby >/dev/null; then mise use --global ruby else echo 'ruby already installed!' fi if [[ ! -f $HOME/.gemrc ]] || ! grep -q "gem: --no-document" $HOME/.gemrc; then echo "gem: --no-document" >>$HOME/.gemrc fi if ! command -v rails >/dev/null; then gem install rails else echo 'rails already installed!' fi } function install_mise { if [[ ! -f $HOME/.local/bin/mise ]]; then echo -n 'installing mise...' curl -s https://mise.run | sh 2>&1 >/dev/null echo OK fi if [[ ! -f $HOME/.bashrc ]] || ! grep -q '.local/bin/mise activate bash' $HOME/.bashrc; then echo "eval \"\$($HOME/.local/bin/mise activate bash)\"" >>$HOME/.bashrc source $HOME/.bashrc mise version fi if [[ ! -f $HOME/.config/mise/config.toml ]]; then mise self-update -y 2>&1 >/dev/null mise settings set experimental true mise settings add idiomatic_version_file_enable_tools ruby echo mise install successfully for development else echo mise already installed! fi } function install_miaou_bash { if ! command -v curl >/dev/null; then sudo apt install -y git curl fi if [[ ! -d /opt/miaou-bash ]]; then curl https://git.artcode.re/miaou/miaou-bash/raw/branch/main/install.sh | sudo bash -s else echo miaou-bash already installed! fi } # MAIN install_miaou_bash install_mise install_ruby install_rails_templating