Na het doorlopen van deel 1 heb je nu een heel basale maar werkende Gentoo installatie. Het probleem is dat er verder niks op draait, dus echt veel heb je er nu nog niet aan.

Zoals aan het eind van het vorige deel al getoond werd gaat deze blog het hebben over de volgende dingen:

Om dan maar meteen te beginnen.

Het installeren en configureren van Sway

Sway is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten niet helemaal aan bij wat ik wil, maar dat is snel aangepast:

mkdir -p /etc/portage/package.use/gui-wm
echo "gui-wm/sway tray wallpapers" | tee /etc/portage/package.use/gui-wm/sway

Dit zorgt ervoor dat Sway de standaard achtergronden (en de tool swaybg) meeneemt, en compatible is met een tray (later voor in Waybar). Na deze aanpassing is het een kwestie van installeren:

emerge --ask gui-wm/sway

De configuratie van Sway

Sway is heel ver naar eigen wens aan te passen. Ik heb zelf een aantal aanpassingen die ik doe omdat ik die vanuit i3 gewend ben. Ik ga hier niet de hele Sway config die ik heb neergooien, dan wordt dit een erg lange blog. Wel zal ik een aantal Framework specifieke punten benoemen.

Om te beginnen de schermschaling. Standaard is dit 1 (oftwel 100%), maar dan is alles wel erg klein. Om dat op te lossen:

output eDP-1 {
	scale 2
}

Dan het touchpad. Ik hou van tap to click:

input 2:6:ImExPS/2_Generic_Explorer_Mouse {
	tap enabled
	dwt enabled
	natural_scroll enabled
}

Let op: dit activeert scrollen met twee vingers niet. Dit is iets wat ik zelf nog aan het uitzoeken ben hoe dat moet, ik werk dit stuk bij indien meer informatie bekend is.

Het gebruiken van waybar als bar inplaats van de standaard sway bar:

bar {
	swaybar_command waybar
}

En om alacritty standaard als terminal te gebruiken in plaats van foot:

set $term alacritty

Het installeren en configureren van Swaylock

Swaylock is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten aan bij wat ik wil, dus dat scheelt. Het installeren is een kwestie van

emerge --ask gui-apps/swaylock

De configuratie van Swaylock

Ook dit is erg persoonlijk, dus ook hier ga ik niet mijn hele configuratie neerzetten. De standaard configuratie werkt prima, trouwens.

Het installeren en configureren van Greetd

Greetd is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten aan bij wat ik wil, dus dat scheelt. Het installeren is een kwestie van

emerge --ask gui-libs/greetd

De configuratie van Greetd

Greetd moet geconfigureerd worden. Maar omdat de configuratie van het volgende item, gtkgreet, een groot deel hiervan overschrijft sla ik dat voor nu over.

Het installeren en configureren van Gtkgreet

Gtkgreet is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten aan bij wat ik wil, dus dat scheelt.

Hoewel gtkgreet standaard aanwezig is in de repositories van Gentoo is het (voorlopig) aangemerkt als “testing”. Dat wil zeggen dat je het niet zomaar kan installeren, maar ook dat is snel genoeg opgelost:

mkdir -p /etc/portage/package.accept_keywords/gui-apps
echo "gui-apps/gtkgreet" | tee /etc/portage/package.accept_keywords/gui-apps/gtkgreet

Het installeren daarna is een kwestie van

emerge --ask gui-apps/gtkgreet

De configuratie van Gtkgreet

Om te beginnen moet de configuratie voor greetd worden aangepast zodat gtkgreet gebruikt word, en dat TTY1 gebruikt word en niet TTY7.

Plaats het volgende in /etc/greetd/config.toml:

[terminal]
vt = 1

[default_session]
command = "sway --config /etc/greetd/sway-config"
user = "greetd"

Je ziet dat er een losse instance van Sway gestart word met een eigen configuratie, namelijk /etc/greetd/sway-config. Plaats daar het volgende in:

exec "gtkgreet -l -s /etc/greetd/gtkgreet.css; swaymsg exit"

bindsym Mod4+Shift+e exec swaynag \
	-t warning \
	-m "Wat wil je doen?" \
	-b "Uitzetten" "systemctl poweroff" \
	-b "Herstarten" "systemctl reboot"
	
include /etc/sway/config.d/*

Hier word een CSS bestand aangeroepen, /etc/greetd/gtkgreet.css. Daarin configureer ik gtkgreet om mijn achtergrond te tonen:

window {
	background-image: url('file:///usr/share/backgrounds/greetd/bg.jpg');
	background-size: cover;
	background-position: center;
}

Als laatste is er een bestand genaamd /etc/greetd/environments. Dit word nergens aangeroepen maar gtkgreet leest dat uit tijdens het starten. De inhoud hiervan zijn de opties die een gebruiker heeft voor mogelijke sessies. Bij mij staat er het volgende in:

sway
bash

Het installeren en configureren van waybar

Waybar is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten niet aan bij wat ik wil, maar dat is snel aangepast:

mkdir -p /etc/portage/package.use/gui-apps/
echo "gui-apps/waybar network pipewire wifi" | tee /etc/portage/package.use/gui-apps/waybar

Dit zorgt ervoor dat Waybar netwerkconfiguraties kan lezen en gebruik kan maken van pipewire voor audio (volume, e.d). Na deze aanpassing is het een kwestie van installeren:

emerge --ask gui-apps/waybar

De configuratie van waybar

Ook dit is erg persoonlijk. De standaard configuratie van Waybar is wat in your face, en ik kies ervoor om het wat rustiger te maken. Je kunt dan het beste de standaard configuratie pakken en deze naar je eigen config map overhevelen, en daarna aanpassen:

mkdir -p ~/.config/waybar/
cp -v /etc/xdg/waybar/config ~/.config/waybar/config
cp -v /etc/xdg/waybar/style.css ~/.config/waybar/style.css

En dan die twee bestanden naar hartelust aanpassen. Waybar leest deze eerst uit namelijk.

Het installeren en configureren van NetworkManager

NetworkManager is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten niet aan bij wat ik wil, maar dat is snel aangepast:

mkdir -p /etc/portage/package.use/net-misc/
echo "net-misc/networkmanager dhcpcd -gtk -doc -introspection nftables -ppp" | tee /etc/portage/package.use/net-misc/networkmanager

Dit zorgt ervoor dat NetworkManager dhcpd gebruikt voor dhcp, wat in het eerste deel naar voren kwam. Ook installeert dit geen GUI, want daar hebben we niets aan. Ook de uitgebreide documentatie laat ik achterwege, net als introspection (debugging). Ook ppp (internet over de telefoonlijn) laat ik achterwege want dat is hier in Nederland niet meer van toepassing.

Het installeren is een kwestie van

emerge --ask net-misc/networkmanager

De configuratie van NetworkManager

Niet nodig tot nu toe.

Het installeren en configurern van Firefox

Firefox is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten niet aan bij wat ik wil, maar dat is snel aangepast:

mkdir -p /etc/portage/package.use/www-client/
echo "www-client/firefox -clang hardened l10n_nl" | tee /etc/portage/package.use/www-client/firefox

Standaard word de ESR versie van Firefox geselecterd. Dat is iets wat ik niet wil, dat is te regelen met:

mkdir -p /etc/portage/package.accept_keywords/www-client
echo "www-client/firefox" | tee /etc/portage/package.accept_keywords/www-client/firefox

Na deze aanpassing is het een kwestie van installeren:

emerge --ask www-client/firefox:rapid

De configuratie van Firefox

Niet nodig tot nu toe.

Het installeren en configureren van vim

Vim is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten aan bij wat ik wil. Het installeren gebeurt met:

emerge --ask app-editors/vim

De configuratie van vim

Dit is weer een persoonlijk iets, maar ik stel mijn vim zo in:

set showmatch
set smartcase
set tabstop=4
set shiftwidth=4
set smartindent
set autoindent
set number
syntax on
set modeline
set background=dark

In ~/.vimrc

Het installeren en configureren van alacritty foot

Alacritty Foot is standaard aanwezig in de repositories van Gentoo. De standaard opties sluiten aan bij wat ik wil. Het installeren gebeurt met:

emerge --ask gui-apps/foot

De configuratie van alacritty foot

Niet nodig tot nu toe.

Afsluiting

Je hebt nu een iets uitgebreidere Gentoo installatie met een window manager (sway) met een aantal benodigdheden, en een webbrowser, een terminal en nog wat andere zaken.

Nu is het een kwestie van zelf proberen, tweaken, en gaan!