According to the urban dictionary,it is Making improvements to a system that don’t actually do anyone any good, and can sometimes have negative ramifications. For me, it’s configuring my computer workflow, both in software and physical worlds.

Physical setup

I prioritize my physical well-being while using a computer by taking breaks, exercising, staying hydrated and not exactly sitting. There are customization to the computer to make it more comfortable. First things we interact with are interfaces:

Keyboards & a trackball

The trackball is awesome for my day-to-day use but I’m not shy of switching to a DualShock 4 or a graphical tablet.

By now we have the input part almost covered but there are other things to improve.

Table & monitors

Monitor position can be a crucial part of one’s posture. At first, I had a VESA compatible arm for one of monitor and a DIY stand for another one to get them into a comfortable position. Then I got a nice pair of hands with a single mounting point. My setup looks much nicer & cleaner this way, but it has the same level of comfort. So I encourage you to figure out how to take care of your healt first. Looks can wait.

Adjustable table is another factor in getting one’s posture right. I went with motorized table legs for IKEA Bekant & a custom tabletop. It allows me to easily switch between sited, standing & balance-board-riding positions. As a quality of live improvement it’s modified with an open-source megadesk controller which can save positions.

Mobile setup

I still prefer my old and trusty Lenovo x220. There are two noticeable modifications.

Japanese keyboard. It has smaller space bar and extra buttons around it. It allows squeezing more use of my thumbs, just like with Advantage2.

x220 with jp keyboard

I’m remapping buttons using udev hwdb. This way mapping works in console, X11 and any Wayland environment.

typec to barrel plug adapter

Second important bit is a Type-C to a Lenovo barrel plug adapter. I got it of AliExpess and never looked back. This thing supports PowerDelivery standard, so I’m able to use my power banks and chargers.

Software setup

The most crucial part of the customization happens here! I try to stick to vim-based navigation and avoid mouse where I can. Sometimes it means configuration, but sometimes it’s plain switching a piece of software.

I’m using NixOS. All the configuration is done through a flake. You can find in slashNix repository on GitHub.

Substantial amount of inspirations came from awesome r/unixporn.

Display manager

It’s a crucial part of starting your Desktop Environment (DE). You can choose your DE, user and enter your password.

To address its importance I use none and no DE either. Little part of my ZSH profile (~/zprofile) checks if I’m using tty1 and if so starts a Window manager.

Cool kid tip: You can put some ASCII art in your /etc/issue. Don’t forget about /etc/motd if you access your machine by ssh.

Window manager

Hyprland is a Wayland window manager with pleasant animations and rounded corners.

Screen Lock

swaylock. Doesn’t have anything fancy, just a lock. I had to enable pam integration though, otherwise it was not accepting any password, even correct one.

Terminal emulator

Alacritty coz rendering terminal with GPU is fun! And it’s written in Rust.

Nu shell is used as a default shell. Starship theme helps it look nice and somewhat helpful.

Browser

Qutebrowser for being vim-like to its bones.

In a quest of not using mouse as much as possible it makes my web browsing pleasant.

Probably the most frequent reason for me to open a browser is searching for something. This is the area where qute shines. It’s incredibly easy to add a ‘search engine’ and access them. I have more than 50.