User:Et-8/GLARBS
- Complete the documentation.
- Write the deploy GLARBS script.
- Write the ebuilds.
- Do test installs on ~amd64.
- Get the ebuilds in Gentoo portage tree.
- Do test installs on distributions based on Gentoo.
A fully-featured tiling window manager-based system for any Gentoo based system.
GLARBS is an abbreviation of Luke Smith's LARBS modified for Gentoo by Et-8 (Emilia Trollros) and #Contributors.
Quote from Luke about LARBS:
“I run LARBS (https://larbs.xyz), which is an auto-installable minimal Linux system targeted to power users. Its goal is to make learning about more hardcore aspects of Linux easy and seamless and it also provides a "cool-looking" and efficient, twm and keyboard-based workflow right out of the box. It runs my build of suckless's dwm and my dotfiles repository here. If you want to know more about how I use Linux and what programs I use and recommend, I have a page on that here.
See my Github here, but I also have Gitlab and also a publicly visible Git server on this website.”Install
Prerequisites
GLARBS is in the early stages and will not work without further modification!
GLARBS follow Gentoo's default configurations and use OpenRC as init system. If you want to use Systemd, make the necessary changes in the corresponding files. Luke himself uses Runit.
GLARBS is meant to be as close to Luke's configuration as possible. This include the NetworkManager and PulseAudio.
GLARBS is configured and tested with these settings in mind:
- Architecture ~amd64. Other architectures are not tested yet. If you do, please let me know!
- Base system using OpenRC init system.
- Base system using OpenSSL.
- Base system converted to use NetworkManager.
Emerge
This won´t work until the official release: glarbs-1.0.0.ebuild.
root #
emerge --ask --verbose x11-wm/glarbs
The general idea
Implement Use flags to make installation and updating safe. Following the rule that never overwrite anything in the users home directory without confirmation.
Manual
From scratch
The deploy GLARBS scripts is in alpha_pre release.
From a Gento base install
Make sure to also update all your files in /etc/portage/ accordingly, see deploy GLARBS /etc/portage for an example.
Emerge app-portage/layman.
root #
emerge --ask --verbose app-portage/layman
Emerge the portage set #Programs selected by Luke.
root #
emerge --ask --verbose @glarbs-progs
Emerge the portage set #Programs needed specifically by Gentoo, according to your configuration. Comment out the programs you don´t need.
root #
emerge --ask --verbose @glarbs-progs-extra
Update
Emerge
Full Gentoo and GLARBS system update
If a package fails to build you can add --keep-going switch to the command before @world. This vill skip the packages with errors and update the rest.
root #
emerge --ask --verbose --update --changed-use --deep --newuse --with-bdeps=y @world
Or use the short version of the command:
root #
emerge -avuUDN --with-bdeps=y @world
Update only GLARBS meta package
This won´t work until the official release: glarbs-1.0.0.ebuild.
root #
emerge --ask emerge --ask --verbose --update --changed-use --deep --newuse --with-bdeps=y x11-wm/glarbs
Or use the short version of the command:
root #
emerge -avuUDN --with-bdeps=y x11-wm/glarbs
Update only GLARBS by package sets
Programs selected by Luke
root #
emerge --ask emerge --ask --verbose --update --changed-use --deep --newuse --with-bdeps=y @glarbs-progs
Or use the short version of the command:
root #
emerge -avuUDN --with-bdeps=y @glarbs-progs
GLARBS programs needed specifically by Gentoo
root #
emerge --ask --verbose --update --changed-use --deep --newuse --with-bdeps=y @glarbs-progs-extra
Or use the short version of the command:
root #
emerge -avuUDN --with-bdeps=y @glarbs-progs-extra
Learning the system
There is a A friendly guide to GLARBS for the whole system, including the binds. Press "Super+F1" to view it. You can also read it as a pdf.
Man pages
There are man pages for dwm, dmenu, st and many other programs. Type man "program"
in the terminal, e.g. man dwm
to view it.
Suckless programs
GLARBS is heavily influenced by Suckless, the source code is the documentation. Check out the programs config.h.
Videos
The many illustrative videos on Luke’s PeerTube channel about LARBS, some of which are easily watchable in GLARBS by pressing Super+F2
.
Information in some of the videos must be customized for GLARBS.
Mental Outlaw Youtube channel about Gentoo, some of which are easily watchable in GLARBS by pressing Super+F2
.
HMagellanLinux Youtube channel about Gentoo, some of which are easily watchable in GLARBS by pressing Super+F2
.
Kernotex Youtube channel about Gentoo, some of which are easily watchable in GLARBS by pressing Super+F2
.
DorianDotSlash Youtube channel about Gentoo, some of which are easily watchable in GLARBS by pressing Super+F2
.
Git repos
By reading the current and closed issues on the GLARBS and LARBS repos.
Gentoo wiki
Official Gentoo documentation as well as community-contributed content can be found here.
Through trial and error
Just install, dive in, have fun and enjoy!
Programs
Git
Create the folder for GLARBS upstream src dotfiles in /etc/skel/
root #
mkdir --parents /etc/skel/glarbs/
Change location to the glarbs folder.
root #
cd /etc/skel/glarbs/
Clone the GLARBS dotfiles into: /etc/skel/glarbs/
root #
git clone https://gitlab.com/et-8/glarbs-dotfiles.git
Also clone the below programs into the same location: /etc/skel/glarbs/
- dwmblocks Serves as the modular status bar.
- dmenu Runs commands and provides a UI for selection.
- st Is a copy of Luke´s custom build of suckless's terminal emulator.
- dwmIs the window manager.
- mutt-wizard Is a light-weight terminal-based email system.
root #
git clone https://gitlab.com/et-8/glarbs-dwmblocks.git \
git clone https://gitlab.com/et-8/glarbs-dmenu.git \
git clone https://gitlab.com/et-8/glarbs-st.git \
git clone https://gitlab.com/et-8/glarbs-dwm.git \
git clone https://gitlab.com/et-8/glarbs-mutt-wizard.git
Change directory into each folder you cloned and execute the command make clean install
to build and install the program, except for the mutt-wizard which uses the command make install
.
root #
cd /etc/skel/glarbs/dwmblocks && make clean install \
cd /etc/skel/glarbs/dmenu && make clean install \
cd /etc/skel/glarbs/st && make clean install \
cd /etc/skel/glarbs/dwm && make clean install \
cd /etc/skel/glarbs/mutt-wizard && make install
If this is a new installation, copy all the files in /etc/skel/glarbs/glarbs-dotfiles/ into your user home directory /home/$USER/
root #
cp -r /etc/skel/glarbs/glarbs-dotfiles/* /home/$USER/
The steps below are only necessary if you want to make personal changes to the source code.
If this is a new installation, copy the dwmblocks, dmenu, st, dwm and mutt-wizard folders into /home/$USER/.local/src/
Change the reference on line 288 in dwm config.h to:
user $
{ ClkStatusText, ShiftMask, Button3, spawn, SHCMD("st -e nvim ~/.local/src/dwmblocks/config.h") },
Ebuilds
The Layman overlay is named "glarbs-overlay". Add the overlay before emerging @glarbs-progs and/or @glarbs-progs-extra.
root #
layman -a glarbs-overlay
Programs selected by Luke
This is the list of programs from Luke's progs.csv converted into a portage set. Copy the set into: /etc/portage/sets/
Create the sets folder if it doesn't exist.
root #
emerge --ask --verbose @glarbs-progs
app-misc/lf is a Layman overlay not official by Gentoo. Use at your own risk!
If you are installing GLARBS from a Gentoo base install. Follow the Gentoo wiki to configure Dunst.
If you are installing GLARBS from a Gentoo base install. Check that you have activated the global USE flags for image support jpeg, png and xpm in your make.conf. Or the setbg script won't be able to parse the image.
The Brave browser is not supported by GLARBS.
media-sound/pamixer is a Layman overlay not official by Gentoo. Use at your own risk!
app-shells/fast-syntax-highlighting is a Layman overlay not official by Gentoo. Use at your own risk!
app-misc/task-spooler is a Layman overlay not official by Gentoo. Use at your own risk!
x11-misc/glarbs-dwmblocks is a Layman overlay not official by Gentoo. Use at your own risk!
x11-misc/glarbs-dmenu is a Layman overlay not official by Gentoo. Use at your own risk!
x11-terms/glarbs-st is a Layman overlay not official by Gentoo. Use at your own risk!
x11-wm/glarbs-dwm is a Layman overlay not official by Gentoo. Use at your own risk!
app-misc/glarbs-mutt-wizard is a Layman overlay not official by Gentoo. Use at your own risk!
Programs needed specifically by Gentoo
This is an extra portage set for programs needed specifically for Gentoo. Copy the set into: /etc/portage/sets/
Create the sets folder if it doesn't exist.
Comment out the programs you don´t need for your configuration.
root #
emerge --ask --verbose @glarbs-progs-extra
This set is also split into category sets:
Basic set includes General, Scripts, Zsh and Layman.
root #
emerge --ask --verbose @glarbs-basic
Configuration set.
root #
emerge --ask --verbose @glarbs-configuration
Drivers set includes Nvidia, Intel, Virtualbox Gentoo host and Virtualbox Gentoo guest.
root #
emerge --ask --verbose @glarbs-drivers
Dwmblocks set.
root #
emerge --ask --verbose @glarbs-dwmblocks
Kernel set.
root #
emerge --ask --verbose @glarbs-kernel
Network set.
root #
emerge --ask --verbose @glarbs-network
General
If you install doas remember to change all references in scripts from sudo to doas.
Network
Packages used by the internet script in dwmblocks.
If you are installing GLARBS from a Gentoo base install. Follow the Gentoo wiki to configure Networkmanager.
Configuration
Kernel
Scripts
Packages used in scrips.
Dwmblocks
Packages used in scrips by dwmblocks.
media-fonts/joypixels is a Layman overlay not official by Gentoo. Use at your own risk!
If you are installing GLARBS from a Gentoo base install. Follow the Gentoo wiki on howto apply user patches. Without the libXft bgra patch the font won't work.
Zsh
Layman
Nvidia
Intel
Virtualbox Gentoo host
Virtualbox Gentoo guest
Contribute
Documentation
Add to this Install GLARBS guide.
Or you can fork the repo glarbs-docs on GitLab, make changes and additions. Then create an issue or merge request.
GLARBS documentation website is powered by Hugo and the Hugo theme Dot by Themefisher. With the addition of Font Awesome icons.
Code
File an issue or merge request in the corresponding repo on GitLab. If the code is universal, independent of the operating system, you can instead file an issue or merge request in the corresponding upstream repo.