ricing

last edited Sat, 10 Feb 2024 15:04:05 GMT
backlinks: void linux


I haven't found one of these tutorials in a while so I decided I should do my own. I wanted a rice my barebones void linux install using new software. In general ricing a fresh unix installation entails an underlying theme for the best aesthetics. Start out with a color scheme or wallpaper to match it to. Keep in mind that any suckless software used must be compiled by hand. Uninstall anything you downloaded from repos unless you want the default settings.

Fonts direct link to this section

Got eyestrain? Download some terminal fonts and make sure they're in /usr/share/fonts or ~/.fonts

XOrg direct link to this section

XOrg isn't included in the bare void install sudo xbps-install xorg, see docs for minimal bundles that only include the xserver. Make sure to create .Xinitrc and .Xresources if it isn't already in your home directory.

Start the X session:

startx

Add custom stuff to .xinitrc such as

exec dwm

Restarting Xresources

!xrdb .config/Xresources

This is is the base of our our setup. When the X server is retarted dwm will be instantiated.

Web Browser direct link to this section

Qutebrowser direct link to this section

More settings can be set within a python file. Do not manually edit the .yml file.

Window Manager direct link to this section

I wanted to try something new. dwm also happens to be written in C. I'll also set up dmenu to work alongside the WM. slstatus for status monitor.

dwm direct link to this section

dwm is included in the xbps repositories but to customize you must build from source.

git clone https://git.suckless.org/dwm

Make sure to install dependencies

xbps-install -S base-devel libX11-devel libXft-devel libXinerama-devel

Variables

Before doing anything, we need to copy the header file

cp config.def.h config.h

The *xtermcmd[] variable defines the default terminal, by default it's set to st (simple terminal). To change your mod key change the variable, by default it is Mod1Mask which is the alt key. I changed my modkey to Mod4Mask to correspond to the windows key. The mod key is the hotkey that will be used to control the window manager. In dwm tags are comparable to workspaces on other desktop environments, [] = symbolizes the layout mode on the default status bar.

I deleted the color scheme in my file and replaced it with pywal to generate colors everytime I run wal. I had to patch dwm with urgent borders.

Compiling

To build and recompile run sudo make clean install. This must be done to apply new custom configurations.

Commands

shift + alt + enter launch a terminal

alt + p launch a program with dmenu

shift + alt + q quit cleanly

mod + shift + c close focused window

mod +f for floating layout mod + t to revert back to tiling mode mod + m monocle mode (fullscreen)

dmenu direct link to this section

application launcher

patching

patch -p1 < dmenu-border-4.9.diff

simulating rofi-like behavior

dmenu_run -c -l 20

compile errors are seemingly 'normal' behavior

Terminal direct link to this section

The motivations behind st is convincing enough to get me to try it out. The Xresources patch allows for quick configuration changes without recompiling.

I install zsh chsh -s $(which zsh)

Image Viewer direct link to this section

nsxiv and xwallpaper

I downloaded some wallpapers and set them with

xwallpaper --zoom file.jpg

Communication direct link to this section

IRC direct link to this section

XMPP direct link to this section

If a client doesn't support OMEMO, what are you doing? I usually recommend Gajim for multi-platform support. In this case we're not looking for Windows or MacOs support.

Profanity

Connect to your server:

/connect user@server.com

Direct Message

/msg contact@server.com Hello!

MUC - Chat Rooms

/join room@server.com

Adding Contacts

/roster add newfriend@server.chat.com

Set status messages:

/status set xa
/status set chat
/status set online
/status set dnd

logout:

/disconnect
OMEMO

implictly accept your own keys and contacts'

/carbons on

generate a new key

/omemo gen

display your OMEMO fingerprint

/omemo fingerprint

view fingerprint of a contact

/omemo fingerprint bob

manually authenticate a key

/omemo trust 7ef54f6a-af23d766-efc9a4ea-da6fca40-3e8a5c82-9c46e4a4-e4c7230f-937b9144

start a conversation with OMEMO

/omemo start bob

Matrix direct link to this section

Matrix clients are dominated by Element which is based off of Electron. Nheko is a slow on my other machines so this is something new.

iamb

Not in the void repos, you will most likely have to compile from source. Make sure rust and cargo are installed. Additonal details on installation can be found at the official iamb site.

Mail Client direct link to this section

Text Editor direct link to this section

NvChad custom fork of NeoVim with defaults

Other Programs direct link to this section

File Manager direct link to this section

I am a fan of XFCE desktop environment, and I like having a graphical interface for file management so I installed thunar sudo xbps-install Thunar