__
    .,-;-;-,. /'_\
  _/_/_/_|_\_\) /
'-<_><_><_><_>=/\
  `/_/====/_/-'\_\
   ""     ""    ""

koopa

Shell bootloader for data science.

Screenshot

Source code is available on GitHub.

Requirements

macOS

Xcode Command Line Tools are required.

xcode-select --install

The command line tools will install into /Library/Developer/CommandLineTools.

Debian / Ubuntu

if [ "$(id -u)" -eq 0 ]
then
    apt-get update
    apt-get --quiet --yes install sudo
fi
sudo apt-get update
sudo apt-get \
    --no-install-recommends \
    --quiet \
    --yes \
    install \
        bash \
        build-essential \
        ca-certificates \
        coreutils \
        curl \
        findutils \
        git \
        locales \
        lsb-release \
        procps \
        python3 \
        unzip

Fedora / RHEL

if [ "$(id -u)" -eq 0 ]
then
    dnf -y install sudo
fi
sudo dnf -y install \
    automake \
    bash \
    coreutils \
    curl \
    findutils \
    gcc \
    git \
    make \
    procps \
    python3 \
    unzip

Installation

The install script will prompt to determine whether you want a shared install for all users, or for the current local user only. It will also ask about dotfile configuration and whether your shell profile configuration file should be modified.

sh -c "$(curl -LSs https://koopa.acidgenomics.com/install)"

Alternatively, download the install script as a temporary file and then execute.

install="$(mktemp)"
curl -LSs -o "$install" https://koopa.acidgenomics.com/install
chmod +x "$install"
"$install"

Here’s how to install koopa non-interactively, which is intended primarily for building Docker images.

curl -LSs https://koopa.acidgenomics.com/install \
    | sh -s -- --non-interactive

Enable activation

Here are some general recommendations for each shell. These can differ depending on the operating system, so refer to your shell documentation for details.

Here is an example using activate.sh for POSIX shell configuration:

# koopa shell
# https://koopa.acidgenomics.com/
# shellcheck source=/dev/null
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}"
if [ -f "${XDG_CONFIG_HOME}/koopa/activate.sh" ]
then
    . "${XDG_CONFIG_HOME}/koopa/activate.sh"
fi

Restart the shell. Koopa should now activate automatically at login. You can verify this with command -v koopa.

Automatic shell configuration is enabled by our dotfiles management, documented below in more detail.

User-specific activation is not require for a shared koopa installation on Linux, which writes a configuration file into /etc/profile.d/zzz-koopa.sh.

Install applications

Koopa supports installation of many applications. Currently supported apps can be seen using TAB autocompletion with koopa install <TAB>. To install the recommended default stack, run koopa install. To update koopa to the latest version and upgrade all currently installed apps, run koopa update. System configuration can be checked with koopa system check.

Default application stack

Update dotfiles

Configure the current user’s environment using our dotfiles repo, which is currently powered by chezmoi. Alternatively, run koopa update user. Automatic writing of dotfiles is a destructive action, so this is not enabled by default in koopa update.

koopa install dotfiles
koopa configure user dotfiles

Troubleshooting

If you are installing behind a corporate firewall, you may need to export http_proxy in the current shell session for koopa and bootstrap dependencies to download successfully. Please file an issue on GitHub if you encounter any connection issues during installation.

© 2018-pres. Acid Genomics LLC.