my_konfig

This commit is contained in:
2025-12-17 18:10:08 +01:00
parent ed4ae93364
commit 773955ef02
42 changed files with 1313 additions and 158 deletions

193
README.md
View File

@@ -1,99 +1,142 @@
# Sway Setup Wiederherstellung
# Sway Desktop Wiederherstellung via Ansible
Dieses Verzeichnis enthält alle notwendigen Konfigurationen und eine Liste der Pakete, um dein personalisiertes Sway-Setup wiederherzustellen.
Dieses Repository enthält die Konfigurationen und das Ansible-Playbook, um ein vollständiges und personalisiertes Sway-Desktop-Setup automatisiert bereitzustellen.
## 1. Installation der Pakete
In der Datei `packages.txt` findest du eine Liste aller benötigten Software-Pakete. Du musst diese mit dem Paketmanager deiner Linux-Distribution installieren.
**Beispiel für Debian/Ubuntu:**
```bash
sudo apt update
sudo apt install sway waybar wofi alacritty swaylock swayidle mako kanshi wl-clipboard brightnessctl grim slurp playerctl
```
**Beispiel für Arch Linux:**
```bash
sudo pacman -Syu
sudo pacman -S sway waybar wofi alacritty swaylock swayidle mako kanshi wl-clipboard brightnessctl grim slurp playerctl
```
**Hinweis:** Die Namen der Pakete (besonders für Schriftarten) können leicht variieren. Die in `packages.txt` genannten Anwendungen (wie `brave-browser`) musst du eventuell aus einem separaten Repository installieren.
**Hinweis zu AUR-Paketen (nur Arch Linux):** Einige Pakete wie `tty-clock` befinden sich im Arch User Repository (AUR) und sind nicht in der Paketliste des Ansible-Playbooks enthalten. Diese müssen manuell mit einem AUR-Helper (z.B. `yay` oder `paru`) installiert werden:
```bash
yay -S tty-clock
```
## 2. Backup und Wiederherstellung der Konfiguration
Dieser Ordner (`my_sway_konfig`) dient als zentraler Speicherort für deine Sway-Konfigurationen.
### Backup erstellen
Um ein vollständiges Backup deiner aktuellen Konfigurationen zu erstellen, führe die folgenden Befehle aus:
```bash
cp -r ~/.config/{sway,waybar,mako,wofi,alacritty,kanshi} ~/my_sway_konfig/config/
cp ~/.tmux.conf ~/my_sway_konfig/
```
Diese Befehle kopieren die Konfigurationsordner und die `.tmux.conf` in dein `my_sway_konfig`-Verzeichnis.
### Konfiguration wiederherstellen
Um die Konfigurationen wiederherzustellen, kannst du entweder das Ansible-Playbook verwenden (siehe Abschnitt 3) oder die Dateien manuell kopieren.
**Manuelle Wiederherstellung:**
Navigiere in das `my_sway_konfig`-Verzeichnis und führe die folgenden Befehle aus:
```bash
cp -rT config/ ~/.config/
cp .tmux.conf ~/
```
Dieser Befehl kopiert die `sway`, `waybar`, `mako`, `wofi`, `alacritty` und `kanshi` Ordner an die richtige Stelle in deinem System, sowie die `.tmux.conf`.
Das Playbook konfiguriert unter anderem:
* **Desktop-Umgebung:** Sway, Waybar, Wofi, Alacritty, Mako
* **Hintergrund:** Statisches Hintergrundbild
* **Skripte:** Automatisches Verbinden von Bluetooth-Geräten, Update-Anzeige für Waybar
* **Systemdienste:** MPD (Music Player Daemon), rclone-Synchronisierung
---
## 3. Deployment und Testen der Konfiguration mit Ansible
## 1. Voraussetzungen
Dieses Verzeichnis enthält ein Ansible-Playbook (`sway_config_deploy.yml`), das die Installation der benötigten Pakete (für Arch Linux) und das Kopieren deiner Konfigurationsdateien automatisiert.
Bevor Sie das Playbook ausführen können, müssen die folgenden Werkzeuge auf dem Zielsystem (Arch Linux) installiert sein:
**Voraussetzung:** Ansible muss auf deinem System installiert sein. Falls nicht:
* **Arch Linux:** `sudo pacman -S ansible`
* **Debian/Ubuntu:** `sudo apt-get install ansible`
* **Fedora:** `sudo dnf install ansible`
1. **Ansible:**
```bash
sudo pacman -S ansible
```
2. **git** und **base-devel** (um AUR-Pakete bauen zu können):
```bash
sudo pacman -S --needed git base-devel
```
3. **Ein AUR-Helper (empfohlen: `yay`):** Das Playbook verwendet `yay`, um Pakete aus dem Arch User Repository (AUR) zu installieren. Bitte installieren Sie es manuell, bevor Sie das Playbook starten.
```bash
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
cd ..
rm -rf yay
```
---
## 2. Konfiguration mit Ansible bereitstellen (Empfohlene Methode)
Der empfohlene Weg, dieses Setup zu installieren, ist die Verwendung des mitgelieferten Ansible-Playbooks.
### Playbook ausführen
1. **Navigiere in das Konfigurationsverzeichnis:**
1. **Navigieren Sie in das Verzeichnis:**
```bash
cd ~/my_sway_konfig
```
2. **Führe das Playbook mit `sudo` aus:**
2. **Führen Sie das Playbook aus:**
Dieser Befehl startet den automatisierten Prozess. Er wird Sie nach Ihrem `sudo`-Passwort fragen, um Pakete zu installieren und Systemkonfigurationen vorzunehmen.
```bash
sudo ansible-playbook sway_config_deploy.yml
ansible-playbook sway_config_deploy.yml --ask-become-pass
```
Dieser Befehl installiert die Pakete und kopiert alle Konfigurationsdateien für den im Playbook definierten Benutzer (`target_user`, standardmäßig `jonnybravo`).
3. **(Optional) Zielbenutzer ändern:**
Wenn du die Konfiguration für einen anderen Benutzer bereitstellen möchtest, kannst du die Variable `target_user` beim Aufruf überschreiben:
Standardmäßig ist das Playbook für den Benutzer `jonnybravo` konfiguriert. Um es für einen anderen Benutzer auszuführen, verwenden Sie die `--extra-vars`-Option:
```bash
sudo ansible-playbook sway_config_deploy.yml --extra-vars "target_user=anderer_benutzer"
ansible-playbook sway_config_deploy.yml --ask-become-pass --extra-vars "target_user=anderer_benutzer"
```
### Playbook testen (Dry Run)
### Playbook testen (ohne Änderungen)
Du kannst das Playbook im "Check-Modus" ausführen, um zu sehen, welche Änderungen vorgenommen würden, ohne sie tatsächlich anzuwenden.
Bevor Sie das Playbook ausführen, können Sie mit `--check` und `--diff` eine Simulation durchführen. Dies ist sehr nützlich, um zu sehen, was sich ändern würde, ohne das System zu verändern.
1. **Nur Dateikopieroperationen testen (Paketinstallation überspringen):**
```bash
cd ~/my_sway_konfig
sudo ansible-playbook sway_config_deploy.yml --check --skip-tags install_packages
```
Dies simuliert das Kopieren der Dateien, ohne Pakete zu installieren.
```bash
# Simuliert die Ausführung und zeigt alle geplanten Änderungen an
ansible-playbook sway_config_deploy.yml --ask-become-pass --check --diff
```
2. **Alle Aufgaben im Check-Modus testen (inklusive Paketinstallation):**
```bash
cd ~/my_sway_konfig
sudo ansible-playbook sway_config_deploy.yml --check
```
Dies simuliert die Installation der Pakete und das Kopieren der Dateien.
---
## 3. Referenz: Installierte Pakete
Das Playbook installiert die folgenden Pakete. Diese Liste dient als Referenz.
### Offizielle Repositories (via pacman)
- sway
- waybar
- wofi
- alacritty
- swaylock
- swayidle
- mako
- kanshi
- wl-clipboard
- brightnessctl
- grim
- slurp
- playerctl
- qalculate-gtk
- tmux
- rclone
- pacman-contrib
- udisks2
- udiskie
- mpd
- ncmpcpp
- ttf-dejavu
- otf-font-awesome
- papirus-icon-theme
- nwg-look
### Arch User Repository (AUR) (via yay)
- tty-clock
- catppuccin-gtk-theme-mocha
---
## 4. MPD & ncmpcpp Cheatsheet
Hier sind einige nützliche Befehle zur Steuerung des Music Player Daemon (MPD) und des Clients `ncmpcpp`.
**Wichtiger Hinweis:** Dein MPD-Server läuft auf Port `6601`. Fast alle Befehle benötigen daher die Angabe `-p 6601`.
### MPD (Der Server)
| Befehl | Beschreibung |
| ------------------------------------ | ------------------------------------------ |
| `systemctl --user status mpd` | Zeigt den Status des MPD-Dienstes an. |
| `systemctl --user restart mpd` | Startet den MPD-Dienst neu. |
| `mpc -p 6601 update` | Scannt dein Musikverzeichnis nach neuen Liedern. |
### mpc (Einfacher Kommandozeilen-Client)
| Befehl | Beschreibung |
| ------------------------------------ | ------------------------------------------ |
| `mpc -p 6601 toggle` | Spielt ab oder pausiert. |
| `mpc -p 6601 next` | Nächstes Lied. |
| `mpc -p 6601 prev` | Vorheriges Lied. |
| `mpc -p 6601 current` | Zeigt den aktuell spielenden Titel an. |
### ncmpcpp (Visueller Client im Terminal)
**Starten:** `ncmpcpp -p 6601`
| Taste(n) | Aktion |
| ---------------- | ------------------------------------------ |
| `1` | Aktuelle Wiedergabeliste |
| `2` | Musik-Browser (Dateisystem) |
| `q` | Beenden |
| `Leertaste` | Wiedergabe umschalten (Play/Pause) |
| `>` | Nächstes Lied |
| `<` | Vorheriges Lied |
| `u` | Musik-Datenbank aktualisieren |