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:
- Het installeren en configurern van (onder andere):
- Sway
- Swaylock
- Greetd
- Gtkgreet
- Waybar
- NetworkManager
- Firefox
- Vim
Alacrittyfoot
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!