I have a really, REALLY bulky laptop. Back in 2020, fresh out of 10th grade, covid rolled around and my old laptop was basically on its last legs. With online classes leaving me no choice, my parents decided to purchase a new laptop. Me being the gaming addicted kid I was, I asked for a laptop (Lenovo Legion Y540) with a GTX 1650 GPU for “accelerated graphics performance in google meet”. Suffice to say that worked, but I suffer from the karma as it is a really bulky laptop and I cannot carry it to campus every day of the week.

So I had to improvise. I had an android tablet, a bluetooth keyboard and the indomitable Jheyanth spirit to somehow get the laptop experience and get some proper work done at campus without having to lug around equipment that weighs as much as a neutron star. This lead me down a rabbithole, and I am happy to share my knowledge with you guys (whoever might need it). Enjoy!

The hardware setup

An android tablet.

I personally have the Samsung Galaxy S6 lite which has 4 GB of ram. So far it hasn’t complained or had any sort of lag or stutter when using it with this setup so I guess it is pretty good. I mostly use it without the keyboard in classes (with the stylus) to take notes, and when I need to get some serious work done, the keyboard comes out.

The keyboard.

I have a portronics keyboard and mouse wireless combo which I bought off Zepto one day out of impatience. It costed me a 1000 bucks, and I thought it would break down the next month, but so far it has been extremely durable. Slightly clacky but alright.

OTG thingy

Its basically like a USB to Type C converter thingamajig I use to interface my keyboard with the tablet.

Yeah that’s pretty much it.

The software setup

Termux!

This app lets you emulate a linux terminal right from your android device. The official description for this app reads “You can use it to execute small scripts and ssh into servers” but boy oh boy can this thing do so much more.

Get the official termux application straight from the github repo, or from the f-droid app. The Google play one seems to have restrictions.

Once you have installed it and opened it, you shall be greeted with the familiar bash terminal. From here on out it is basically the same thing you do on PCs, but when I first discovered Termux in like 9th grade I didn’t know the aura this app had. So I am going to pretend you do not know anything about the terminal life and I am going to explain all the packages you need to install.

Zsh

Zsh, short for Z Shell is like a massive upgrade to the bash terminal. To install it just type pkg install zsh and it will do everything for you. Just hit ‘y’ or Enter whenever prompted.

Oh my Zsh

This adds some theme and flair to the Z terminal. By default it is pretty bland and doesn’t have git indicators. Oh my Zsh gives you that. Get the installation script oneliner from their site and let it do its thing. Once the installation is done, type omz theme set agnoster (my fave theme) and it should start to look a lot better and informative to use the terminal now.

Smol note

If you see some weird chinese characters it is because you don’t have a powerline nerd font. While that is alright, you could always go back to the robbyrussell theme and not worry about it, I highly suggest you install any nerd font. I recommend installing the Jetbrains Mono Nerd font. Ask chatGPT or something for the process, it’ll do a better job than me. The terminal should look like a proper arrow now, if you’ve properly installed it.

LSD

On the terminal, to see the files and folders inside the current directory you type ls. Pretty mid, gets the job done. But I personally love me some flair on this thing. Run pkg install lsd and it’ll do it’s thing. Instead of typing ls, type lsd and see the magic. The outputs are now coloured and you can do much more with the l command than normal. Read the documentation and add the useful aliases to the .zshrc!

Bat

Next up, you need a way for you to see the files in the terminal. For this, people usually use the cat command, which prints the file contents to the terminal. But it has no syntax highlighting and pagination for files longer than the terminal screen. So it is a very bad experience. So run pkg install bat to get a better cat. Replace cat with bat in the .zshrc with an alias. Itll look something like this:

alias cat="bat"

Neovim

We have the ability to see what files are in which folder, and to see what is inside the files with bat. But now we need a text editor to go edit the contents inside these files. I suggest neovim for this. I personally am a neovim newbie as well, so I suggest installing Lazyvim. The learning curve is pretty steep but the dividends pay off. If you need a simpler text editor, you could always use nano. It comes preinstalled. To open a file with nano simply type

nano filename.txt

This will open the file. If you have neovim installed, use nvim instead of nano.

This is a huuuge rabbithole in itself. You will have to look into online tutorials just to get a hang of nvim. I suggest using the :Tutor built right inside nvim to follow along and get used to the interface and the keybinds.

Monitoring

Most of the utilities are covered. Now lets take care of the device real time use stats.

Fastfetch

This is quite ubiquitous for terminal users. Simply typing fastfetch gives you an overview of your device statistics. Install it with pkg install fastfetch and add it to your .zshrc so it does a fastfetch when the terminal boots. It looks cool. I even add a figlet -f slant JYunth right on top of the fastfetch to make it look even cooler on boot.

HTop

This program is very, very useful. Think of this like the task manager for your terminal programs. Install it with pkg install htop and by running htop in the terminal you will be able to see near real time usage statistics of your CPU core resources, and at the bottom you will be able to see processes running. You can then highlight any of them and kill them with the right function buttons.

Additional things

Zellij

While termux has a multiple session mechanism built right into it (use the right sidebar to open more terminals) multitasking gets insanely hard. I like to use zellij as my terminal multiplexer (one terminal to access a bunch of terminals) and the UI is also pretty intuitive to learn as compared to its predecessor tmux. Its completely your choice to learn whichever one you think you will be comfortable with, I just felt zellij would be better for me since I am a beginner and I didn’t like setting up everything from scratch.

Lazygit

This is a amazing alternative to using the actual git commands on the terminal. While there is nothing spectacularly hard about git commands on the terminal, some beginners and also git power users need a much more easier and intuitive interface to interact with git. lazygit gives you exactly that. Install it with pkg install lazygit

Zoxide

This is a pretty nifty little package which reduces the directory typing out friction that comes with cd’ing into directories. Instead of the usual cd path/to/the/damn/repo you can simply just type z repo and Zoxide will immediately get you there, provided you have already CD’ed into the repo before.

My aliases and other .zshrc stuff

figlet -f slant JYunth
fastfetch
alias ls="lsd"
alias lt="lsd --tree"
alias la="lsd -la"
alias cat="bat"
alias neofetch="fastfetch"
alias c="clear"
alias update="pkg update && pkg upgrade"
alias wget="wget -c"
alias lg="lazygit"
 
# zoxide
eval "$(zoxide init zsh)"

That’s about it! This probably feels pretty easy to setup, but everything is a rabbithole. Spend some time back and forthing with GPT and documentation to get the right setup for you and go ham.