99 lines
4.1 KiB
Markdown
99 lines
4.1 KiB
Markdown
# Sway Setup Wiederherstellung
|
|
|
|
Dieses Verzeichnis enthält alle notwendigen Konfigurationen und eine Liste der Pakete, um dein personalisiertes Sway-Setup wiederherzustellen.
|
|
|
|
## 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} ~/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` und `alacritty` Ordner an die richtige Stelle in deinem System, sowie die `.tmux.conf`.
|
|
|
|
---
|
|
|
|
## 3. Deployment und Testen der Konfiguration mit Ansible
|
|
|
|
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.
|
|
|
|
**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`
|
|
|
|
### Playbook ausführen
|
|
|
|
1. **Navigiere in das Konfigurationsverzeichnis:**
|
|
```bash
|
|
cd ~/my_sway_konfig
|
|
```
|
|
|
|
2. **Führe das Playbook mit `sudo` aus:**
|
|
```bash
|
|
sudo ansible-playbook sway_config_deploy.yml
|
|
```
|
|
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:
|
|
```bash
|
|
sudo ansible-playbook sway_config_deploy.yml --extra-vars "target_user=anderer_benutzer"
|
|
```
|
|
|
|
### Playbook testen (Dry Run)
|
|
|
|
Du kannst das Playbook im "Check-Modus" ausführen, um zu sehen, welche Änderungen vorgenommen würden, ohne sie tatsächlich anzuwenden.
|
|
|
|
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.
|
|
|
|
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. |