# attach/create toolbx container with default or specified name.
# usage: tb [NAME]
tba()
{
  local name="${1}"
  
  # set default name.
  if [[ "${name}" = "" ]]; then
    name="main"
  fi

  # start container or run command inside it if specified.
  if [[ "${2}" = "" ]]; then
    # set hostname.
    toolbox --container "${name}" run sudo hostname "${HOSTNAME}-${name}"
    
    # try to enter or create if failed.
    toolbox enter "${name}" || {
      # create container.
      toolbox create "${name}"
      
      # initialize container.
      toolbox --container "${name}" run sudo hostname "${HOSTNAME}-${name}"
      # toolbox --container "$name" run sudo rm /root/.bashrc
      # toolbox --container "$name" run sudo ln -s $HOME/.linux /root/.linux
      # toolbox --container "$name" run sudo ln -s /root/.linux/bash/bashrc.sh /root/.bashrc
      
      # enter container, finally.
      toolbox enter "${name}"
    }
  else
    # set hostname.
    toolbox --container "${name}" run sudo hostname "${HOSTNAME}-${name}"
    
    # run command inside container.
    toolbox --container "${name}" run ${@:2}
  fi
}

# remove toolbx container with default or specified name.
# usage: tbk [NAME]
tbk()
{
  local name="${1}"
  
  # set default name.
  if [[ "${name}" = "" ]]; then
    name="main"
  fi

  # stop and remove podman container.
  podman stop "${name}" > /dev/null && podman rm "${name}" > /dev/null
}

# install rpm-fusion repository.
# usage: tb_rpmfusion [NAME]
tb_rpmfusion()
{
  local name="${1}"
  
  # set default name.
  if [[ "${name}" = "" ]]; then
    name="main"
  fi
  
  # run dnf inside container.
  toolbox --container "${name}" run sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
}

# list all containers.
alias tbl="toolbox list -c"

# autocomplete.
_tb_containers()
{
  _autocomplete_first "$(toolbox list -c | sed -e '1d' | awk '{ print $2 }')"
}

complete -F _tb_containers tba tbk tb_rpmfusion