my_konfig
This commit is contained in:
193
README.md
193
README.md
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user