Some items I cannot live without on a terminal are:
Ranger file manager
LunarVIM text editor
LazyGit for a GitUI
GDB Dashboard for debugging
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.
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 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.
Download the (unsupported) tarball from: https://github.com/neovim/neovim-releases using wget:
wget https://github.com/neovim/neovim-releases/releases/download/v0.10.3/nvim-linux64.tar.gz
Extract it to your home directory using tar xvf <filename>.
Rename it to something less cumbersome, mv <extractedname> ~/neovim.
(Optionally) free space on your home directory by deleting the tarball: rm nvim-linux64.tar.gz
Add ~/neovim/bin to your path by adding below line to your .bashrc file in your home directory:
export PATH="$PATH:/home/<yournetid>/neovim/bin/"
Finally, restart your terminal or run source ~/.bashrc
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/"
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.
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
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.