User:Et-8/GLARBS

From Gentoo Wiki
Jump to: navigation, search
Article status
This article has some todo items:
  • 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.
GLARBS licenses
IconLicense.png
This asset is licensed under the terms of the GNU General Public License license.

This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the license, or (at your option) any later version. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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.

Note
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.”
Warning
This page is a work in progress by Et-8 (talk | contribs). Treat its contents with caution.

Install

Prerequisites

Warning
GLARBS is in the early stages and will not work without further modification!
Important
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.
Note
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 converted to use NetworkManager.
  • Base system fully converted to LibreSSL.

Emerge

Warning
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.

Cannot load package information. Is the atom x11-wm/glarbs correct?

Manual

From scratch

Warning
The deploy GLARBS scripts is not complete yet.

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

Warning
This won´t work until the official release: glarbs-1.0.0.ebuild.
root #emerge --ask --verbose --update --deep --newuse --with-bdeps=y x11-wm/glarbs

Manual

Important
This section is not complete yet.
root #emerge --ask --verbose --update --deep --newuse --with-bdeps=y @glarbs-progs

Learning the system

Important
This section is not complete yet.

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

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/ into your user home directory /home/$USER/

root #cp -r /etc/skel/glarbs/* /home/$USER/
Note
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

Note
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
Programs selected by Luke


Important
app-misc/lf is a Layman overlay not official by Gentoo. Use at your own risk!
Note
If you are installing GLARBS from a Gentoo base install. Follow the Gentoo wiki to configure D-Bus. Or Dunst won't work.
Note
If you are installing GLARBS from a Gentoo base install. Follow the Gentoo wiki to configure Dunst.
Note
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.


Important
www-client/brave-bin is a Layman overlay not official by Gentoo. Use at your own risk!
Note
Gentoo recommend media-fonts/quivira. Original font, media-fonts/symbola, is removed by Gentoo, because the use of an overly restrictive license.


Important
media-sound/pamixer is a Layman overlay not official by Gentoo. Use at your own risk!


Important
app-shells/fast-syntax-highlighting is a Layman overlay not official by Gentoo. Use at your own risk!
Important
app-misc/task-spooler is a Layman overlay not official by Gentoo. Use at your own risk!


Important
x11-misc/glarbs-dwmblocks is a Layman overlay not official by Gentoo. Use at your own risk!
Important
x11-misc/glarbs-dmenu is a Layman overlay not official by Gentoo. Use at your own risk!
Important
x11-terms/glarbs-st is a Layman overlay not official by Gentoo. Use at your own risk!
Important
x11-wm/glarbs-dwm is a Layman overlay not official by Gentoo. Use at your own risk!
Important
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.

Note
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, Zsh, Libressl 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
Network

Packages used by the internet script in dwmblocks.

Note
If you are installing GLARBS from a Gentoo base install. Follow the Gentoo wiki to configure Networkmanager.
Configuration
Kernel
Dwmblocks

Packages used in scrips by dwmblocks.


Important
media-fonts/joypixels is a Layman overlay not official by Gentoo. Use at your own risk!
Note
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
Libressl
Layman
Nvidia
Intel
Virtualbox Gentoo host
Virtualbox Gentoo guest