User:Et-8/GLARBS

GLARBS = Gentoo Linux Auto-Rice Bootstrapping Scripts

GLARBS is an efficient ebuild that will install a fully-featured dynamic window manager-based system on any Gentoo or Gentoo Linux-based system, without any of the routine of manual post-install processes and configuration. By default, GLARBS gives you the option to install any of the below video creators rice and deploy their personal dotfiles for their special builds of software, which is very cool!

GLARS will include the following video creators

 * Luke Smith
 * LARBS
 * Derek Taylor
 * DistroTube
 * Erik Letson
 * HMagellanLinux

How to install Suckless software the Gentoo way

 * 1) Enable the savedconfig USE flag globally in /etc/portage/make.conf
 * 2) Install the ebuilds for Suckless vanilla programs in the portage tree with Gentoo's package manager, Portage.
 * 3) Install GLARBS overlay.
 * 4) Install the ebuilds for programs in the glarbs-overlay with Gentoo's package manager, Portage.
 * 5) Apply Suckless and other patches, which has been cleaned for Portage, by activate USE flags in these ebuilds.

dwm
You must enable the  USE flag in order to save customized configuration file to  for later editing.

Users with multiple monitors should enable the  USE flag regardless of whether or not Xinerama will be used.

Install dwm with the command:

st
You must enable the savedconfig USE flag in order to save customized configuration file to /etc/portage/savedconfig/x11-terms/st-0.8.4 for later editing.

Install st with the command:

surf
You must enable the savedconfig USE flag in order to save customized configuration file to /etc/portage/savedconfig/www-client/surf-2.0 for later editing.

Some customization's requires the tabbed USE flag to be enabled. This will cause a rebuild of www-client/surf if it isn't already enabled.

Install surf with the command:

dmenu
You must enable the  USE flag in order to save customized configuration file to  for later editing.

Users with multiple monitors should enable the  USE flag regardless of whether or not Xinerama will be used.

Install dmenu with the command:

Programs in the glarbs-overlay
To use the glarbs-overlay you must enable it with Eselect/Repository or layman.

dwmblocks
You must enable the  USE flag in order to save customized configuration file to  for later editing.

Install dwmblocks with the command:

Customisation
Programs are customised by editing config.h, a C language header file, and config.mk, a Make include file.

What is config.h (config header file)?
config.h is a source code file which is included by package-name.c, the main source code module. It serves as the configuration file for all of the programs's features, e.g. application placement, tags, and colours. A vanilla download of the software will contain a file called config.def.h, a template you can use to create your own config.h file.

How do I modify config.h?
config.h can be edited just like any other C source code file. It contains definitions of variables that are going to be used by package-name.c and therefore it is vital that the file is always up to date. The default Makefile distributed with software will not overwrite your customised config.h with the contents of config.def.h, even if it was updated in the the latest git pull or release. Therefore, you should always compare your customised config.h with config.def.h and make sure you include any changes to the latter in your config.h. The savedconfig USE flag together with the CONFIG_PROTECT variable will make portage inform you when a change need manual intervention.

What is config.mk (make include file)?
config.mk is a file included by Make. It allows you to configure how Make is going to compile and install the software.

How do I modify config.mk?
config.mk can be edited just like any other text file. It contains definitions of variables that are going to be used inside the Makefile. Unlike config.h, config.mk does not have a config.def.mk (a default Makefile). Therefore, during an update, you may run into conflicts if the original config.mk is edited. GLARBS patches will solve this issue.

Updating customizations after a new release
When the time comes to update your customizations after a new release of the software, you do the following...

Patches
There are two types of patches:
 * The ones that fit to your personal taste.
 * The ones included in mainline.

Patch filename format
There are two formats for patches:


 * For git revisions

The toolversion should correspond to the tool release version, ie 6.2 for dwm-6.2.

The YYYYMMDD date should correspond to the last time the patch has been modified. The SHORTHASH here is the seven chars git commit short hash corresponding to the last commit of the tool on which the patch can be applied correctly and is working with. You can get it by taking the first seven chars of the full hash or for example:

The dwm patch allyourbase will look Like this:


 * For release versions

The toolversion should correspond to the tool release version, ie 6.2 for dwm-6.2.

The dwm patch allyourbase will look Like this:

Patch generation

 * For git users


 * For tarballs

How does the savedconfig use flag affects the config header file?
As stated previously, the configuration file is the file and after each change, the program needs to be recompiled for any changes to take effect.

In order for the editor to use syntax highlighting feature for C code, create a symlink using a header filename.

or

if you use an editor based on vi, inside the editor, type:

External resources

 * https://suckless.org/ - Official Suckless website.