I’ve been thinking about writing a blog post for a long time about my Linux Desktop workflow. In this post, I’ll be offering a quick glimpse into my “Rice” or customized Linux use case.
Hardware
What I have is very old hardware probably about 10 Years or more. I’ve tested many Distros and various Operating Systems on it including Windows XP to Vista and 7 and Desktop Android OS too called Remix OS.
- CPU: Although
Pentium 4 dual core E5400
is pretty old but it was recognized as one of the earliest gaming CPU with overclocking support of that time if I am not wrong. - STORAGE: Two HDD 160gb each. with sum of 4 partitions on both.
- RAM: 3Gig. It weird to have 3Gig Ram but I like this odd.
- GPU: Integrated Intel Graphics.
I have played many games on it with wine support on linux and on native windows xp and 7 like Vice City, IGI2, Max Payne, Total Overdose, GTA3, GTA San Andreas, Prince of Persia Series, Spiderman and Harry Potter Chamber of Secrets, and Need For Speed Hot Persuit and Counter Strike CZ. Those were good days.
Operating System
One of the coolest thing about Linux Is that It supports older hardware. Take any ancient Machine Linux Can Run it like a bullet Train.
In my Journey of Distro Hopping I finally settled on to Artix Linux.
Artix Linux (runit) installed with xfce4 flavoured ISO.
Artix Linux is just like Arch Linux without systemd. It is very minimal and provides the same support as arch for many packages with different unit system such as runit, openrc, sinit and many more.
I like it personally because It gives faster boot and shutdown time. Its better for older machines too. In arch sometime it takes a while to stop a services (That why it seems slow)
Window Manager
DWM, I Initially had xfce4 but got bored and moved back to DWM again. Its written in C and pretty much have enough patches to make it usable. I uses the one that lukes maintained it in Larbs project. Here is[ my fork](https://codeberg.org/pineapple/dwm) of it. I tried many DEs and WMs. While XFCE sounds more robust solution for mouse users. but for all time vim users Tilling Window Mangers can feel like heaven.Dynamic Tiling
I like spiral Tilling to be precise it creates the layout of the golden ratio of Fibonacci sequence. Its easier to handle windows like this and the workspaces are handy so that I dont have to worry about covering windows on top of each other and resizing them and all. Thats the advantage of dynamic tilling everything is pretty much all set already all you have to do is move them manually with keybindings.
Minimal Panel
Some desktop has macos like dock some has windows os like taskbar but in dwm we use dwmbar
Its minimal bar with shell scripts running to show essential information you’ll need in general life. all these output you see is output from posix shell script (which is even minimal than bash) and stored in ~/.local/bin/statusbar
If you want systemtray there is a patch for that you’ll have it in now way. this dwm bar is patched with mouse clickability. It mean we can use left click, right click and middle click on these statuses for predefined purpose.
Vim Keybinds
I am obsessed with vim keybindings. Whenever I install new program I always check if it has vim keybinds support in any way. Its easier this way. Taking use of mouse less and less and didnt have to move hands from keyboard and everything is just HJKL keys away and you hand never has to move away from ideal position. unlike emacs tho thats pain.
Terminal Programs
I use ST (Simple Terminal) from suckless patched by lukes larbs project. It has vim friendly keybinds, sixel support for displaying images and transparancy ofc. Here is my fork of ST build. Lf (cli file manager written in go), ncmpcc (cli music player), discordo, btop (ss below), and many more)
Rofi and Dmenu
What solves the problem of absent of dock or start menu that a handy little menu system which is just a keybind away. With super + d
i can summon a dmenu which pop up on top of dwm bar ready to take my input and fuzzily displaying list of programs that are installed that are just typing away. Dmenu is very minimal, but sometimes I like to see pretty icons of these opensource softwares so I use rofi custom themed launcher to get mac os’s spotlite like theme.
with these menus I can use various custom script to do various things like summoning a shutdown menu with options related to shutdown. and emoji menu with lots of emojis ready to be copied to clipboard to be used anywhere. and many more posibilities.
Obsidian and Vimwiki
I used to use vimwiki to store my notes but then I got introduce to Obsidian and I said this is the one I was looking for all these years. However whenever I dont have use for fancy features of it I just use vimwiki for quick editing but I dont like the document restore swap warning from vim it sometimes mess with the saved content.
Brave and Lynx
Brave is all time favourite. It open source based on chromium and blah blah all that typical FOSS stuff. It faster takes away all youtube and ads automatically and doesnt spy on you(ig). However for quick wikipedia read or to surf the graphic less site I just go with lynx.
Programming in Neovim
I have Vscode Installed however when I want peaceful enviroment I use Neovim. It has exactly things I needed from better coding experience. Like nerdtree for explorer and split views and inbuilt terminal for compiling stuff.
Custom Keybinds
The biggest advantage of usind Tilling windows manger is having everything at your finger tips. ( I meant no need to use mouse again). Although dwm has its own keybind confiuration in config.h
in its source I still like to run another keybind management daemon for redundancy sake and also handy to set new keybinds right away with sxhkd
tool.
Here are common kebinds I use:
super + w
for spawning brave
super + r
for cli file manger lf
super + d
for dmenu ofc
super + shift + d
for rofi
super + backspace
for logout menu
super + enter
for launching St (terminal)
there are lots can be found in mydotfiles.
How do I get similar setup like yours.
Well, If you like this kind of desktop experience and want to experience it byhand I recommend to just install larbs. They made it lot easier to install it all in one command with all the programs that are mentioned here. Its all same and once you get a hold of it you will learn to customize it by yourself. If you want a showcase video you can check this lukesmith’s youtube video.
However, If you want my own version and see my scripts I uploaded my dotfiles and WM source code on this repository so they can be access by anyone.
Have a good day! Whoever reading this.