Entry-level Linux Ricing

Posted on Sun, Dec 13, 2020 PC Linux

There comes a time in life when a fledgling Linux user takes a look at /r/unixporn and think to themselves: "Huh this desktop looks cool, maybe mine can look like that too!"

...and then swiftly gives up after downloading Arch Linux (credit)

But that day is not today, as we're going to dive in head first into the rice water that is Linux Ricing, and attempt to emerge crash and jank-free.

"What does a hero distro truly need?"

We will be using Manjaro Linux today, as we get convenience of AUR packages and learning some facets of ArchLinux architecture. This is an entry-level guide, so I won't be customizing everything - That's a different guide that I may make later on.

So how do we go from

The Chad vanilla xfce

...to this (mine)?

vs. the Virgin gruvbox meme

1. What can we customize?

A few terms you should know are:

We will be using the gruvbox color scheme for most of our programs: https://github.com/morhetz/gruvbox

2. Terminal

First order of business is heading to pamac-manager (Manjaro's package manager GUI), → AUR tab → enable AUR support, tick the check for updates checkbox

The Terminal will be used the most, so go to Keyboards and delete the --drop-down portion.

Then install your favorite text editor. It's vim for me:

sudo pacman -S vim

Now for the actual terminal: zsh, as well as oh-my-zsh for additional styling:

sudo pacman -S zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Hopefully you've gone through the new user settings for zsh and make it the default terminal option.

Now for the gruvbox colors: Head to Gogh and follow the guide, or just paste this in the terminal, then pick number 63 for gruvbox dark:

bash -c  "$(wget -qO- https://git.io/vQgMr)"

Additional plugins for zsh (Personal recommendation)

zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Oh-my-zsh already has some plugins to be activated. We'll activate some of those and the 2 we installed above. Go to your ~/.zshrc file and add the plugins below (git should already be activated)

plugins=(
    git
    history-substring-search
    colored-man-pages
    zsh-autosuggestions
    zsh-syntax-highlighting
)

We're done with the terminal for now. Hide the menubar if you want

Bonus:

Download and use a Nerd font to get emoji support in terminal (Fira Code in my case):

wget https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/FiraCode/Regular/complete/Fira%20Code%20Regular%20Nerd%20Font%20Complete.ttf
sudo cp Fira\ Code\ Regular\ Nerd\ Font\ Complete.ttf /usr/share/fonts/
fc-cache

3. WM (Window Manager) + (WM/Appearance) Theme

Once again, this is an entry-level guide so we won't change the WM for maximum comfort of our noobie. Normally we'd be using something like bspwm or i3.

WM Theme:

Since we want to look like we're using a tiling manager, we can use the border-only theme to achieve almost the same effect.

Now that you can't use your mouse to maximize/minimize your windows, head to Window Manager to make a few shortcuts that you can remember. Some suggestions:

Maximize Window -> Super + F #Full Window
Hide Window -> Super + S #Small
Move Window -> Super + M #Move
Resize -> Super + R #Resize

Tile Window to the top -> Super + Up
#Down Left Right as needed
Tile Window to top-left -> Super +Y
#top-right = U, bottom-left = B, bottom-right = N because vimkeys

WM Appearance:

xfce splits between colors and style and since we just got done with style, it's time for colors:

4. Icons

Since we're fully committing to gruvbox:

5. Result

Don't forget to pick a nice wallpaper!

5. Wrap-up

You might have noticed I left the panel bar intact. This is because you have a choice:

I consider the bar to be the easiest and safest to customize since you always have the default bar to come back to. It's always good to start here and move on to application-specific rice when you're done.

6. Application-specific rice?

Of course. Stuff like vim or tmux have been the subjects of ricing since forever. Here are some examples for you to consider. 3 out of the 4 are what I'm currently using

Tmux

Vim

Zathura

Firefox (post)

Good luck and have fun. Message me on github (/aptrinh) if you need help.