Old Abe's EWS workspace (experimental)

⛔️ Caution!
This section is highly experimental. EWS keeps changing their configurations pretty often so these steps may break anytime.

Main Items

Some items I cannot live without on a terminal are:

  1. Ranger file manager

  2. LunarVIM text editor

  3. LazyGit for a GitUI

  4. GDB Dashboard for debugging

  5. MidnightCommander for file transfers (advanced).

Now I have managed to get these working in my home directory without using sudo but I may also have more access rights than you – so your mileage may vary.

Ranger File Manager

Nice thing about Ranger is that it can be installed via pip which is standard package manager for Python.

The problem is that EWS does not give you a working copy of pip – or if they do, it is the system pip and we don't want to mess around with that. Ideally we should install things in an isolated virtual environment. Fortunately, Miniconda installation can take place in your home directory.

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

After installation run

source ~/miniconda3/bin/activate

To get miniconda working in your current terminal. To have it always work, run

conda init --all

The last two commands should have activated the (base) environment from Conda.

Now that we have a working installation of pip we should be able to run:

pip install ranger-fm

to install the Ranger file manager.

After installation completes, just run ranger from your terminal and voila, a sensible file manager!

Read more about configuring the Ranger themes here.

LunarVIM text editor

LunarVIM again requires you to first have neovim installed. We cannot do sudo apt or sudo dnf or anythning of that sort because we don't have admin rights. So we need to download and make do with a precompiled binary of neovim.

When I tried, the standard neovim release failed to run on EWS because they were using an outdated version of GLIBC. Once again, fortunately, folks also keep compiling neovim for these legacy systems.

Now that we have neovim installed, we should be able to install LunarVIM using the bash command provided on their installation page: https://www.lunarvim.org/docs/installation

Say yes only to the options for treesitter-cli and pynvim and no to everything else.

Finally, add the path to the LunarVIM binary to your path:

export PATH="$PATH:/home/<yournetid>/.local/bin/"

LazyGit

This is now easy. Download the right version for EWS PC's from Github.

Here is the link: https://github.com/jesseduffield/lazygit/releases/download/v0.45.2/lazygit_0.45.2_Linux_x86_64.tar.gz

Use wget to download it to your home directory and tar xvf to extract it. Then just move the executable lazygit to a directory already in your path.

mv lazygit ~/.local/bin

Now you can invoke LazyGit from the terminal! I usually alias lazygit to lg.

GDB Dashboard

If you have successfully done the above, I think GDB Dashboard should be a piece of cake.

wget -P ~ https://github.com/cyrus-and/gdb-dashboard/raw/master/.gdbinit

And install (with (base) from Conda activated):

pip install pygments

MidnightCommander

Midnight Commander offers a dual-pane file manager which makes moving things around a breeze. In addition, it offers the ability to have a remote server show up in the second pane!

To be honest, this doesn't require mc to be installed on the target machine so much as your personal/local machine. If you got mc installed and are curious on how to use it for file transfers, look at this link. Just be sure to use the shell link option.

All rights reserved by ECE220@UIUC. Design by Asher Mai & Ivan Abraham.
Last modified: March 31, 2025. Website built with Franklin.jl and the Julia programming language.