#! /bin/bash

sudo_package_update

# This now installs a lot of language specific stuff from python, gradle, to go.
# Should consider pulling these into different recipes that are dependent on the environment
# that I wish to bootstrap. If not a dev environment, I can trim out some of this.

# Packages that are pretty much the same treatment or names in all systems

# Shells
packages="fish bash"
# Common shell utils
packages="$packages tmux htop curl wget pv jq mosh bash-completion ripgrep fzf"
# Development tools
packages="$packages neovim vim tig shellcheck"

# Set py3 version for macOS
PY3V=312

# Some packages have different names
case "$PACKAGE_MANAGER" in
    "port")
        packages="$packages universal-ctags"
        packages="$packages gnutar"
        # Non-standard packages
        packages="$packages md5sha1sum"
        # Python packages
        packages="$packages python$PY3V py$PY3V-ipython py$PY3V-pip py$PY3V-virtualenv py$PY3V-black"
        # Macvim with ruby and python support
        # sudo_package 'macvim +ruby +python27'
        # Vim with ruby and python support
        packages="$packages vim +python$PY3V"
        # Newer version of git with completion
        packages="$packages git +bash_completion"
        # Neovim python plugins
        packages="$packages py$PY3V-neovim"
        # Docker stuff
        packages="$packages colima docker docker-compose kubectl_select kubectl-1.23"
        ;;
    "apt-get")
        packages="$packages universal-ctags build-essential"
        # Neovim python plugins
        packages="$packages python3-neovim"
        # Python packages
        packages="$packages python3 python3-ipython python3-pip python3-six black python3-virtualenv python3-venv"
        ;;
    "apk")
        packages="$packages ctags py3-pynvim"
        ;;
esac

sudo_package "$packages"

if [[ "$PACKAGE_MANAGER" == "port" ]]; then
    # Select defaults
    sudo port select --set python "python$PY3V"
    sudo port select --set python2 python27
    sudo port select --set python3 "python$PY3V"
    sudo port select --set ipython "py$PY3V-ipython"
    sudo port select --set ipython2 py27-ipython
    sudo port select --set ipython3 "py$PY3V-ipython"
    sudo port select --set pip "pip$PY3V"
    sudo port select --set pip2 pip27
    sudo port select --set pip3 "pip$PY3V"
    # Use py3 versions for utilities
    sudo port select --set black "black$PY3V"
    sudo port select --set virtualenv "virtualenv$PY3V"

    # Select kubectl
    sudo port select --set kubectl kubectl1.23

    # Make uctags ctags
    sudo ln -s "$(which uctags)" /usr/local/bin/ctags
fi

pip3 install --user padio release-gitter