In diesem Artikel
- Zwei Laptop-Generationen, zwei Profile
- Wie entsteht daraus ein vollständiger Desktop?
- Was macht der X1-Installer genau?
- Installation in nachvollziehbaren Schritten
- Die ersten Minuten auf dem Desktop
- XMonad und Xmobar miteinander verstehen
- Audio, WLAN und Akku gezielt prüfen
- Updates und der Rückweg zu eigenen Dateien
- Datenschutz und geprüfte Quellen
Gruvnode ist mein persönlicher Laptop-Desktop: überschaubar, mit der Tastatur bedienbar und nach einer Neuinstallation wieder einrichtbar. Der Aufbau begann auf meinem früheren ThinkPad T480. Heute liegt das aktive Profil für meinen ThinkPad X1 Carbon im selben Repository.
Mein „easy-going installer“ nimmt wiederkehrende Einrichtungsschritte ab. Gleichzeitig bleiben die Konfigurationen offen lesbar. Dieser Artikel erklärt den aktuellen Arch-Aufbau, den Ablauf des Installers und die Verbindung zwischen XMonad und Xmobar. Für die Haskell-Grundlagen beginnt der XMonad-Einstieg mit einer kleineren Datei.
Zwei Laptop-Generationen, zwei Profile
| Profil | System | Rolle im Repository |
|---|---|---|
thinkpad-t480/ | Debian 13, X11 und XMonad | Historischer Aufbau des früheren Laptops |
thinkpad-x1-carbon/ | Arch Linux, X11 und XMonad | Aktuelles Profil für meinen X1 Carbon mit 16 GB RAM |
Der T480-Stand bleibt als nachvollziehbare Vorgeschichte erhalten. Seine Intel-Xorg- und Energieeinstellungen werden nicht automatisch auf den X1 übertragen. Das neue Profil nutzt die übliche Xorg-Modesetting-/libinput-Grundlage und enthält weder die alte TLP-Konfiguration noch die T480-Powertweaks.
Wiederverwendbare Desktop-Entscheidungen dürfen mit dem Laptop umziehen. Hardwareanpassungen müssen dagegen am aktuellen Gerät begründet sein. Mehr zu meinem Laptop-Alltag steht im Workstation-Bereich des Museums.
Wie entsteht daraus ein vollständiger Desktop?
- XMonad ordnet Fenster und verwaltet die Tastenkürzel.
- Xmobar zeigt Uhr, Akku und Lautstärke; die Verbindung zu XMonad ist vorbereitet.
- Rofi und Kitty öffnen Programme und ein Terminal.
- Picom und feh übernehmen Compositing und das Hintergrundbild.
- PipeWire und WirePlumber liefern Audio und dessen Verwaltung.
- NetworkManager mit iwd kümmert sich um die Netzwerk- beziehungsweise WLAN-Anbindung.
- BlueZ, Blueman, Thunar und Mousepad ergänzen Bluetooth und alltägliche Dateiarbeit.
Dazu kommen Firmwarepakete, Diagnosewerkzeuge, OBS und weitere Helfer. Fastfetch wird installiert, aber nicht automatisch in deine Shell-Startdatei geschrieben. Die Gruvnode-Konfiguration bleibt damit von deiner persönlichen Shellgestaltung getrennt.
Was macht der X1-Installer genau?
thinkpad-x1-carbon/install.sh prüft zunächst, ob es auf Arch läuft und als normaler Benutzer gestartet wurde. sudo wird gezielt für Systemschritte verwendet. Der Ablauf ist im Quellcode klar aufgeteilt:
- Arch vollständig aktualisieren und die offizielle Paketliste installieren.
yaybei Bedarf aus dem AUR bauen und Google Chrome über yay installieren.- NetworkManager für iwd konfigurieren, Netzwerk und Bluetooth aktivieren und die Audio-Benutzerdienste starten.
- Die verwalteten Benutzerdateien und Helferskripte an ihre Zielorte kopieren.
- Das gemeinsame Wallpaper verlinken und
xmonad --recompileausführen.
Gruvnode installiert nicht Arch selbst. Es setzt auf einem bereits installierten System mit normalem Benutzer und sudo auf. Chrome gehört derzeit zum X1-Profil. Offizielle Pakete kommen über pacman; der AUR-Aufbau ist ein eigener Schritt. Lies die Paketliste und AUR-Builddateien, bevor du diesen Aufbau übernimmst.
Der Installer verwendet automatische Bestätigungen für Paketaktionen und startet NetworkManager neu. Führe den ersten Lauf daher lokal am Laptop aus und plane die Netzunterbrechung ein. Ein kleines Desktop-Setup bedeutet nicht, dass der Installer ausschließlich eine einzelne Haskell-Datei verändert.
Installation in nachvollziehbaren Schritten
Starte mit einer funktionierenden Arch-Installation. Prüfe vor einem vollständigen Update die Arch-Neuigkeiten auf nötige manuelle Eingriffe. Falls Git fehlt, kannst du es mit einem vollständigen Update installieren:
sudo pacman -Syu --needed git
Hole anschließend das Repository:
git clone https://github.com/dennishilk/gruvnode.git
Wechsle ausdrücklich in das aktuelle Profil:
cd gruvnode/thinkpad-x1-carbon
Lies die README und install.sh. Die mitgelieferte Validierung prüft unter anderem Dateien, Shell-Syntax und erwartete Konfigurationseinträge:
bash tests/validate.sh
Optionale Shellcheck- und Haskell-Prüfungen werden nur ausgeführt, wenn deren Werkzeuge vorhanden sind. Ein bestandener Check ist deshalb kein Hardwaretest. Mache den Installer ausführbar:
chmod +x install.sh
Starte ihn als normaler Benutzer, ohne ein vorangestelltes sudo:
./install.sh
Lies die abschließende Ausgabe und gegebenenfalls den Sicherungspfad. Nach der ersten Firmware-/Audio-/WLAN-Einrichtung empfiehlt das Profil einen Neustart. Melde dich danach an einer TTY an und starte die X11-Sitzung:
startx
~/.xinitrc setzt die Desktop-Umgebung und startet XMonad. Der Installer richtet keinen vollständigen grafischen Login-Manager ein.
Die ersten Minuten auf dem Desktop
| Tasten | Aktion im X1-Profil |
|---|---|
| Super + Enter | Kitty |
| Super + D | Rofi |
| Super + B / O / T | Chrome / OBS / Thunar |
| Super + J / K | Fensterfokus wechseln |
| Super + H / L | Hauptbereich verkleinern oder vergrößern |
| Super + Leertaste | Tall und Full durchschalten |
| Super + Shift + R | XMonad kompilieren und neu starten |
Screenshot unter ~/Pictures/Screenshots/ |
Mousepad wird über Rofi gestartet und hat bewusst keine eigene Taste. Normale Fenster kacheln, erkannte Dialoge werden zentriert und schwebend behandelt. Die Lautstärketasten verwenden PipeWire über wpctl, die Helligkeitstasten brightnessctl.
XMonad und Xmobar miteinander verstehen
In xmonad.hs verbindet statusBarProp die Statusausgabe mit der X11-Property _XMONAD_LOG. withSB kümmert sich um die dazugehörige Leiste im XMonad-Lebenszyklus. Das Xmobar-Plugin Run XMonadLog kann diese Informationen lesen.
Die aktuelle Xmobar-Vorlage zeigt tatsächlich Uhr, Akku und Lautstärke:
, template = "}{ %date% %battery% %volume% "
Obwohl das XMonadLog-Plugin eingerichtet ist, fehlt hier dessen sichtbarer Platzhalter. Wenn du Workspaces und den vorbereiteten Fenstertitel zusätzlich sehen möchtest, sichere zuerst die Datei:
cp -a --backup=numbered ~/.config/xmobar/xmobarrc ~/.config/xmobar/xmobarrc.before-tutorial
Ersetze nur die vorhandene Template-Zeile durch dieses Beispiel:
, template = "%XMonadLog% }{ %date% %battery% %volume% "
Lade XMonad neu, damit die verwaltete Leiste erneut startet:
xmonad --restart
Prüfe die linke Anzeige beim Wechsel zwischen Workspaces. Zum Rückweg stelle die ursprüngliche Template-Zeile wieder her und starte erneut. Das installierte Netzwerk-Helferskript wird ebenfalls nicht automatisch in der aktuellen Vorlage angezeigt.
Audio, WLAN und Akku gezielt prüfen
Zeigt die Leiste vol n/a, konnte der Helfer keine nutzbare Standardausgabe abfragen. Beginne mit:
wpctl status
Für Netzwerkgeräte und ihren Status nutze:
nmcli device
NetworkManager verwaltet WLAN mit dem iwd-Backend. Das Profil sieht keine separat aktivierte iwd-Verwaltung vor. Der Akkuhelfer sucht das erste vorhandene BAT*-Gerät, statt BAT0 vorauszusetzen; ein alleinstehendes AC kann hier auch bedeuten, dass er kein Akkugerät gefunden hat.
Für externe Displays prüfst du zunächst xrandr. Die konkreten Namen eines Docks oder Monitors werden nicht vorab behauptet. Auch Webcam- und Audiogeräte müssen am wirklichen Laptop geprüft werden.
Updates und der Rückweg zu eigenen Dateien
Verwaltete vorhandene Benutzerdateien werden vor dem Ersetzen unter ${XDG_STATE_HOME:-~/.local/state}/gruvnode/backups/ in einem datierten Laufordner gesichert. Der Installer zeigt den konkreten Pfad an. Das betrifft seine ausgewählten Dateien und ist keine komplette Systemsicherung oder automatische Deinstallation.
Stelle bei Bedarf einzelne Dateien aus dem gemeldeten Backup wieder her. Kompiliere eine wiederhergestellte XMonad-Datei und starte erst bei Erfolg neu. Paketupdates, AUR-Installationen, Dienste und NetworkManager-Systemeinstellungen haben einen eigenen Rückweg und werden durch das Zurückkopieren einer Desktop-Datei nicht entfernt.
Zum Aktualisieren des Profils wechselst du wieder in seinen Ordner und holst Änderungen:
git pull --ff-only
Prüfe den Diff und die Änderungen vor einem erneuten ./install.sh. Eigene lokale Anpassungen sollten bewusst gesichert werden. Der Backup-Artikel erklärt, welche Pfade und Abhängigkeiten zusätzlich dazugehören.
Datenschutz und geprüfte Quellen
Gruvnode benötigt kein eigenes Konto und lädt deine Konfigurationssicherung nicht automatisch hoch. Softwaredownloads kontaktieren GitHub, Paketquellen und das AUR. Chrome, OBS und andere Programme behalten ihre eigenen Netzwerk- und Datenschutzfunktionen. Leisten und Screenshots können Fenstertitel oder Dateipfade zeigen.
Grundlage sind das aktuelle X1-Profil und der historische T480-Installer, geprüft am 7. Oktober 2026.