ricing
last edited Tue, 22 Oct 2024 17:53:21 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
- open a new webpage
o
followed by the URL andenter
- switch between previous and next tab with
j
andk
- close a tab with
d
and undo withu
- search a page with
/
followed by the term - open the command line with
:
- save open tabs before quitting
:wq
- customize settings with
:set
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
- line height patch
- center patch
- border patch
- highlight
patching
patch -p1 < dmenu-border-4.9.diff
simulating rofi-like behavior
dmenu_run -c -l 20
compile errors are seemingly 'normal' behavior
Terminal Emulator 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 Ueberzug 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
- Irssi suckless IRC client + themes
copy
.theme
file to~/.irssi/
directory, change the theme with /SET theme theme_name
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 based off vim
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. Kakoune is a popular alternative to vim in the Void community.
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
. For a terminal based client I enjoy nnn, which is much faster and minimal in comparison to ranger.
Other Programs direct link to this section
- aci
rofireplaced with dmenu- picom
fehreplaced with nsxiv- pywal generate color schemes
- Cava audio visualizer for alsaI use pulseaudio. - mpd music player daemon
- bunnyfetch compiled from source and stuffed into
/usr/local/bin
- Zathura for PDFs
- scrot CLI based screenshot utility
- tmux to work alongside nnn for terminal previews