Create a Basic Develoment Environment.

If you created a VM, make sure you are running these steps as the normal user in that VM; not on the host system.

These instructions are for Pop!_OS, they should be similar for Ubuntu.

Overview

As this is a new installation and you need something to code with, I am recommending the following tools to be productive:

This is highly opinionated.

If you have your own envionment, create that instead.

  • build-essential : a collection of tools used to build software
  • Git : Source Code Management
  • Vim : for quick edits
  • zsh : a different shell then bash
  • prezto : a zsh framework
  • VS Codium : Not an editor, Not an IDE, Something in the middle
  • Java JDK : Need for IBM Z Open Editor extension
  • Some VS Codium extensions
  • Midnight Commander (aka: mc) : A terminal based file manager
  • An SSH key : to push code to a GitHub or GitLab or Bitbucket repository
  • tree : Optional: a quick way to see the structure of a directory
  • LazyGit : Optional: A terminal based Git UI : This one is really optional. You can use GitLens within VS Codium to do the same, I just like it.

Build-Essential

sudo apt install build-essential

This might be installed already or there might be some components that are missing. Better safe then sorry.

Git

Actually, Git is already installed on Pop!_OS but if you went the Ubuntu route, you might have to install it.

sudo apt install git

Vim

sudo apt install vim

A very dependable editor. Useful for quick edits or as your main editor.

Zsh

sudo apt install zsh

Prezto

Visit Github: Prezto and follow the instructions.

Just closing/re-opening Terminal doesn't set the shell to zsh. You will probably need to logout of the OS and then log back in to make zsh the default in Terminal.

You can use it as it is out of the box but I will suggest one change of two additions:

In the /home directory, edit .zpreztorc and add git and syntax-highlighting in the zstyle ':prezto:load' pmodule \ section:

Old version:

zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'history-substring-search' \
  'prompt'

New Version:

zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'git' \
  'syntax-highlighting' \
  'history-substring-search' \
  'prompt'

Save it, close Terminal then open Terminal.

Add db2profile to .zshrc

Similar to adding this to .bashrc:

Add the following 4 lines to the bottom of the .zshrc file which is found in the home directory.

# The following three lines have been added by UDB DB2.
if [ -f /home/db2inst1/sqllib/db2profile ]; then
    . /home/db2inst1/sqllib/db2profile
fi

This will also export some very useful environment variables.

You will need to exit and re-open Terminal for them to be activated.

VS Codium

Because... why not.

Go to VS Codium website.

Follow the instructions for "Install on Debian/Ubuntu(deb package)":

  • Add GPG key
  • Add the repository
  • Update and Install codium

Java JDK

sudo apt install default-jdk

VS Codium Extensions

Open VSCodium, Open the Extensions Browser and install:

  • IBM Z Open Editor (will also install Zowe Explorer)
  • GitLens

You could also install Code4Z instead of IBM Z Open Editor BUT don't have both installed at the same time.

Close/Open VSCodium for the extensions to work properly.

Midnight Commander (aka: mc)

sudo apt install mc

This is a nice terminal based file manager that I use to transfer files to/from the host/vm and move stuff around in general.

SSH-Key

For instructions: Look at GitHub - Connect with SSH.

Tree - Optional

sudo apt install tree

LazyGit - Optional

Follow the instructions on the LazyGit - Github website.