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.