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 |
|
||||
|
||||
128
config/Thunar/accels.scm
Normal file
128
config/Thunar/accels.scm
Normal file
@@ -0,0 +1,128 @@
|
||||
; thunar GtkAccelMap rc-file -*- scheme -*-
|
||||
; this file is an automated accelerator map dump
|
||||
;
|
||||
; (gtk_accel_path "<Actions>/ThunarDetailsView/expandable-folders" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-last-modified" "")
|
||||
; (gtk_accel_path "<Actions>/Thunarwindow/menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/cut" "<Primary>x")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab-alt" "<Primary><Shift>ISO_Left_Tab")
|
||||
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size-in-bytes" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab" "<Primary>Page_Up")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/open" "<Primary>o")
|
||||
; (gtk_accel_path "<Actions>/ThunarBookmarks/87f311946d76aaa57a4debfe8d0f656a" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-split-view" "F3")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/copy-2" "<Primary>Insert")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete" "Delete")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-recent" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/cut-2" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-dtime" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab" "<Primary>Page_Down")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
|
||||
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
|
||||
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-hidden-count" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "<Primary>d")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/undo" "<Primary>z")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/toggle-sort-order" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>KP_Add")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/configure-columns" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt2" "Back")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/redo" "<Primary><Shift>z")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-window" "<Primary><Shift>o")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/open-location" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt1" "BackSpace")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/switch-focused-split-view-pane" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/search-alt" "Search")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab-alt" "<Primary>Tab")
|
||||
; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>KP_0")
|
||||
; (gtk_accel_path "<Actions>/ThunarWindow/about" "")
|
||||
59
config/Thunar/uca.xml
Normal file
59
config/Thunar/uca.xml
Normal file
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<actions>
|
||||
<action>
|
||||
<icon>audacious</icon>
|
||||
<name>Add to audacious playlist</name>
|
||||
<submenu></submenu>
|
||||
<unique-id>1681893052016505-1</unique-id>
|
||||
<command>audacious -e %U</command>
|
||||
<description></description>
|
||||
<range>*</range>
|
||||
<patterns>*</patterns>
|
||||
<audio-files/>
|
||||
</action>
|
||||
<action>
|
||||
<icon>utilities-terminal</icon>
|
||||
<name>Open Terminal Here</name>
|
||||
<submenu></submenu>
|
||||
<unique-id>1703572977408169-1</unique-id>
|
||||
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
|
||||
<description>Launch TerminalEmulator</description>
|
||||
<range></range>
|
||||
<patterns>*</patterns>
|
||||
<startup-notify/>
|
||||
<directories/>
|
||||
</action>
|
||||
<action>
|
||||
<icon>checkbox</icon>
|
||||
<name>Check sha1sum</name>
|
||||
<submenu></submenu>
|
||||
<unique-id>1526633271260079-26</unique-id>
|
||||
<command>yad --info --title="Check sha1 for %n" --text="$(sha1sum %f)"</command>
|
||||
<description>Check sha1sum</description>
|
||||
<range></range>
|
||||
<patterns>*.iso;*.ISO</patterns>
|
||||
<other-files/>
|
||||
</action>
|
||||
<action>
|
||||
<icon>checkbox</icon>
|
||||
<name>Check sha256sum</name>
|
||||
<submenu></submenu>
|
||||
<unique-id>1577688162350307-1</unique-id>
|
||||
<command>yad --info --title="Check sha256 for %n" --text="$(sha256sum %f)"</command>
|
||||
<description>Check sha256sum</description>
|
||||
<range></range>
|
||||
<patterns>*.iso;*.ISO</patterns>
|
||||
<other-files/>
|
||||
</action>
|
||||
<action>
|
||||
<icon>checkbox</icon>
|
||||
<name>Check md5sum</name>
|
||||
<submenu></submenu>
|
||||
<unique-id>1526736788575383-2</unique-id>
|
||||
<command>yad --info --title="Check md5 for %n" --text="$(md5sum %f)"</command>
|
||||
<description>Check md5sum</description>
|
||||
<range></range>
|
||||
<patterns>*.iso;*.ISO;*.tar.gz;*.TAR.GZ;*.zip;*.ZIP</patterns>
|
||||
<other-files/>
|
||||
</action>
|
||||
</actions>
|
||||
@@ -9,6 +9,7 @@
|
||||
import = [
|
||||
"~/.config/alacritty/catppuccin-mocha.toml"
|
||||
]
|
||||
live_config_reload = true
|
||||
|
||||
[font]
|
||||
# Schriftgröße
|
||||
@@ -33,7 +34,7 @@ padding = { x = 10, y = 10 }
|
||||
|
||||
# Hintergrund-Transparenz (Opacity)
|
||||
# 1.0 ist komplett undurchsichtig, 0.0 ist komplett durchsichtig.
|
||||
opacity = 0.95
|
||||
opacity = 0.4
|
||||
|
||||
# Entfernt die Standard-Fensterdekoration (Titelleiste)
|
||||
# In Sway ist das oft gewünscht, da Sway die Fenster verwaltet.
|
||||
|
||||
@@ -10,3 +10,7 @@ scrolling:
|
||||
font:
|
||||
# Schriftgröße
|
||||
size: 14.0
|
||||
|
||||
# Fenster-Transparenz
|
||||
window:
|
||||
background_opacity: 0.8
|
||||
BIN
config/fastfetch/arch.png
Normal file
BIN
config/fastfetch/arch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 71 KiB |
75
config/fastfetch/config-compact.jsonc
Normal file
75
config/fastfetch/config-compact.jsonc
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"source": "~/.config/fastfetch/arch.png",
|
||||
"type": "kitty-direct",
|
||||
"height": 10,
|
||||
"width": 20,
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " -> "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "title",
|
||||
"keyWidth": 10,
|
||||
"format": " {6}{7}{8}"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
/*
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
*/
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ",
|
||||
"keyColor": "magenta",
|
||||
// format: used / total
|
||||
"format": "{1} / {2}"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
|
||||
},
|
||||
"break",
|
||||
]
|
||||
}
|
||||
73
config/fastfetch/config-pokemon.jsonc
Normal file
73
config/fastfetch/config-pokemon.jsonc
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"height": 5,
|
||||
"width": 10,
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " -> "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "title",
|
||||
"keyWidth": 10,
|
||||
"format": " {6}{7}{8}"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
/*
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
*/
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ",
|
||||
"keyColor": "magenta",
|
||||
// format: used / total
|
||||
"format": "{1} / {2}"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
|
||||
},
|
||||
"break",
|
||||
]
|
||||
}
|
||||
112
config/fastfetch/config-v2.jsonc
Normal file
112
config/fastfetch/config-v2.jsonc
Normal file
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
//"source": "~/.config/fastfetch/nixos.png",
|
||||
//"type": "kitty-direct",
|
||||
"height": 15,
|
||||
"width": 30,
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " ➜ "
|
||||
},
|
||||
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "os",
|
||||
"key": " DISTRO",
|
||||
"keyColor": "31",
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ├ ",
|
||||
"keyColor": "31",
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " ├ ",
|
||||
"keyColor": "31",
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " └ ",
|
||||
"keyColor": "31",
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " DE/WM",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "wmtheme",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "icons",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "cursor",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "terminalfont",
|
||||
"key": " └ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "host",
|
||||
"format": "{2}",
|
||||
"key": " SYSTEM",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"format": "{1} ({3}) @ {7} GHz",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"format": "{2}",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "swap",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "disk",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": " └ ",
|
||||
"compactType": "original-with-refresh-rate",
|
||||
"keyColor": "33",
|
||||
},
|
||||
"break",
|
||||
"break",
|
||||
]
|
||||
}
|
||||
128
config/fastfetch/config.jsonc
Normal file
128
config/fastfetch/config.jsonc
Normal file
@@ -0,0 +1,128 @@
|
||||
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "os",
|
||||
"key": " DISTRO",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": "│ ├",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": "│ ├",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": "│ └",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " DE/WM",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "wmtheme",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "icons",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "cursor",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue",
|
||||
},
|
||||
{
|
||||
"type": "terminalfont",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue",
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": "│ └",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"key": " SYSTEM",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"key": "│ ├",
|
||||
"format": "{2}",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green",
|
||||
"compactType": "original-with-refresh-rate"
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "swap",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": "│ └",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "sound",
|
||||
"key": " AUDIO",
|
||||
"format": "{2}",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "player",
|
||||
"key": "│ ├",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "media",
|
||||
"key": "│ └",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m \u001b[39m \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
|
||||
},
|
||||
"break",
|
||||
]
|
||||
}
|
||||
40
config/fastfetch/my_config.jsonc
Normal file
40
config/fastfetch/my_config.jsonc
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/master/doc/json_schema.json",
|
||||
"modules": [
|
||||
"title",
|
||||
"separator",
|
||||
"os",
|
||||
"host",
|
||||
"kernel",
|
||||
"uptime",
|
||||
"shell",
|
||||
"display",
|
||||
"de",
|
||||
"cpu",
|
||||
"gpu",
|
||||
"memory",
|
||||
"swap",
|
||||
"disk",
|
||||
"wifi",
|
||||
"localip",
|
||||
//"publicip",
|
||||
//"dns",
|
||||
"poweradapter"
|
||||
],
|
||||
"logo": {
|
||||
"type": "auto", // Logo type: auto, builtin, small, file, etc.
|
||||
"source": "manjaro", // Built-in logo name or file path
|
||||
// "width": 40, // Width in characters
|
||||
// "height": 15, // Height in characters
|
||||
// "padding": {
|
||||
// "top": 0, // Top padding
|
||||
// "left": 0, // Left padding
|
||||
// "right": 2 // Right padding
|
||||
// },
|
||||
"color": { // Override logo colors
|
||||
"1": "blue",
|
||||
"2": "green"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
7
config/fish/conf.d/omf.fish
Normal file
7
config/fish/conf.d/omf.fish
Normal file
@@ -0,0 +1,7 @@
|
||||
# Path to Oh My Fish install.
|
||||
set -q XDG_DATA_HOME
|
||||
and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
|
||||
or set -gx OMF_PATH "$HOME/.local/share/omf"
|
||||
|
||||
# Load Oh My Fish configuration.
|
||||
source $OMF_PATH/init.fish
|
||||
15
config/fish/config.fish
Normal file
15
config/fish/config.fish
Normal file
@@ -0,0 +1,15 @@
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
|
||||
# ===================================================================
|
||||
# Automatische Helligkeit für externen Monitor
|
||||
# Setzt den externen Monitor auf 100% Helligkeit, wenn er erkannt wird.
|
||||
# ===================================================================
|
||||
if command -v ddcutil >/dev/null 2>&1
|
||||
# Prüft, ob der spezifische Monitor (Acer XB273K GP an card1-DP-3) angeschlossen ist.
|
||||
if ddcutil detect | grep -q "card1-DP-3"
|
||||
# Befehl im Hintergrund ausführen, um den Shell-Start nicht zu blockieren.
|
||||
ddcutil --display 1 setvcp 10 100 >/dev/null 2>&1 &
|
||||
end
|
||||
end
|
||||
32
config/fish/fish_variables
Normal file
32
config/fish/fish_variables
Normal file
@@ -0,0 +1,32 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR __fish_initialized:3800
|
||||
SETUVAR fish_color_autosuggestion:brblack
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:normal
|
||||
SETUVAR fish_color_comment:red
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:green
|
||||
SETUVAR fish_color_error:brred
|
||||
SETUVAR fish_color_escape:brcyan
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:brcyan
|
||||
SETUVAR fish_color_param:cyan
|
||||
SETUVAR fish_color_quote:yellow
|
||||
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
|
||||
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_greeting:Hallo\x20du\x20kleiner\x20Fish
|
||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||
30
config/fish/functions/fish_prompt.fish
Normal file
30
config/fish/functions/fish_prompt.fish
Normal file
@@ -0,0 +1,30 @@
|
||||
function fish_prompt --description 'Prompt ausgeben'
|
||||
set -l last_status $status
|
||||
set -l normal (set_color normal)
|
||||
set -l status_color (set_color brgreen)
|
||||
set -l cwd_color (set_color $fish_color_cwd)
|
||||
set -l vcs_color (set_color brpurple)
|
||||
set -l prompt_status ""
|
||||
|
||||
# Since we display the prompt on a new line allow the directory names to be longer.
|
||||
set -q fish_prompt_pwd_dir_length
|
||||
or set -lx fish_prompt_pwd_dir_length 0
|
||||
|
||||
# Color the prompt differently when we're root
|
||||
set -l suffix '❯'
|
||||
if functions -q fish_is_root_user; and fish_is_root_user
|
||||
if set -q fish_color_cwd_root
|
||||
set cwd_color (set_color $fish_color_cwd_root)
|
||||
end
|
||||
set suffix '#'
|
||||
end
|
||||
|
||||
# Color the prompt in red on error
|
||||
if test $last_status -ne 0
|
||||
set status_color (set_color $fish_color_error)
|
||||
set prompt_status $status_color "[" $last_status "]" $normal
|
||||
end
|
||||
|
||||
echo -s (prompt_login) ' ' $cwd_color (prompt_pwd) $vcs_color (fish_vcs_prompt) $normal ' ' $prompt_status
|
||||
echo -n -s $status_color $suffix ' ' $normal
|
||||
end
|
||||
64
config/htop/htoprc
Normal file
64
config/htop/htoprc
Normal file
@@ -0,0 +1,64 @@
|
||||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||
# The parser is also very primitive, and not human-friendly.
|
||||
htop_version=3.4.1-3.4.1
|
||||
config_reader_min_version=3
|
||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=0
|
||||
hide_running_in_container=0
|
||||
shadow_other_users=0
|
||||
show_thread_names=0
|
||||
show_program_path=1
|
||||
highlight_base_name=0
|
||||
highlight_deleted_exe=1
|
||||
shadow_distribution_path_prefix=0
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
highlight_changes=0
|
||||
highlight_changes_delay_secs=5
|
||||
find_comm_in_cmdline=1
|
||||
strip_exe_from_cmdline=1
|
||||
show_merged_command=0
|
||||
header_margin=1
|
||||
screen_tabs=1
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_one=0
|
||||
show_cpu_usage=1
|
||||
show_cpu_frequency=0
|
||||
show_cpu_temperature=0
|
||||
degree_fahrenheit=0
|
||||
show_cached_memory=1
|
||||
update_process_names=0
|
||||
account_guest_in_cpu_meter=0
|
||||
color_scheme=0
|
||||
enable_mouse=1
|
||||
delay=15
|
||||
hide_function_bar=0
|
||||
header_layout=two_50_50
|
||||
column_meters_0=LeftCPUs Memory Swap
|
||||
column_meter_modes_0=1 1 1
|
||||
column_meters_1=RightCPUs Tasks LoadAverage Uptime
|
||||
column_meter_modes_1=1 2 2 2
|
||||
tree_view=1
|
||||
sort_key=46
|
||||
tree_sort_key=46
|
||||
sort_direction=-1
|
||||
tree_sort_direction=-1
|
||||
tree_view_always_by_pid=0
|
||||
all_branches_collapsed=0
|
||||
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
|
||||
.sort_key=PERCENT_CPU
|
||||
.tree_sort_key=PERCENT_CPU
|
||||
.tree_view_always_by_pid=0
|
||||
.tree_view=1
|
||||
.sort_direction=-1
|
||||
.tree_sort_direction=-1
|
||||
.all_branches_collapsed=0
|
||||
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
|
||||
.sort_key=IO_RATE
|
||||
.tree_sort_key=PID
|
||||
.tree_view_always_by_pid=0
|
||||
.tree_view=0
|
||||
.sort_direction=-1
|
||||
.tree_sort_direction=1
|
||||
.all_branches_collapsed=0
|
||||
37
config/mpd/mpd.conf
Normal file
37
config/mpd/mpd.conf
Normal file
@@ -0,0 +1,37 @@
|
||||
# Recommended location for database
|
||||
db_file "/home/jonnybravo/.config/mpd/database"
|
||||
|
||||
# If you want to log messages to a file
|
||||
log_file "/home/jonnybravo/.config/mpd/log"
|
||||
|
||||
# The music directory is by default the home directory.
|
||||
music_directory "/home/jonnybravo/Musik"
|
||||
|
||||
# If you want to support playlists
|
||||
playlist_directory "/home/jonnybravo/.config/mpd/playlists"
|
||||
|
||||
# A unique name for this MPD server
|
||||
pid_file "/home/jonnybravo/.config/mpd/pid"
|
||||
|
||||
state_file "/home/jonnybravo/.config/mpd/state"
|
||||
sticker_file "/home/jonnybravo/.config/mpd/sticker.sql"
|
||||
|
||||
bind_to_address "127.0.0.1"
|
||||
port "6601"
|
||||
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "PipeWire Sound Server"
|
||||
}
|
||||
|
||||
audio_output {
|
||||
type "fifo"
|
||||
name "my_fifo"
|
||||
path "/tmp/mpd.fifo"
|
||||
format "44100:16:2"
|
||||
}
|
||||
|
||||
decoder {
|
||||
plugin "wildmidi"
|
||||
enabled "no"
|
||||
}
|
||||
19
config/ncmpcpp/config
Normal file
19
config/ncmpcpp/config
Normal file
@@ -0,0 +1,19 @@
|
||||
mpd_host = "127.0.0.1"
|
||||
mpd_port = "6601"
|
||||
mpd_connection_timeout = "5"
|
||||
|
||||
colors_enabled = "yes"
|
||||
|
||||
# Progressbar
|
||||
progressbar_look = "━━"
|
||||
current_item_prefix = "▶ "
|
||||
current_item_suffix = ""
|
||||
|
||||
# Layout
|
||||
song_status_format = "%a - %t"
|
||||
song_columns_list_format = "(50)[]{t|a} (50)[]{b}"
|
||||
playlist_display_mode = "columns"
|
||||
|
||||
header_visibility = "yes"
|
||||
statusbar_visibility = "yes"
|
||||
titles_visibility = "yes"
|
||||
0
config/ncmpcpp/error.log
Normal file
0
config/ncmpcpp/error.log
Normal file
7
config/rclone/rclone.conf
Normal file
7
config/rclone/rclone.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
[nextcloud]
|
||||
type = webdav
|
||||
url = https://nextcloud.schlaubistechtalk.de/remote.php/dav/files/JonnyBravo/
|
||||
vendor = nextcloud
|
||||
user = JonnyBravo
|
||||
pass = sRF3pKvZMWmo6ZhchVtPaaa0NG5CFG-AdjeXy-zTdW0os6tIDsOHkzL-48Q6
|
||||
|
||||
@@ -34,6 +34,7 @@ set $lock swaylock -f -c 000000
|
||||
|
||||
# Schriftart für Fenstertitel
|
||||
font pango:DejaVu Sans Mono 12
|
||||
default_border pixel 2
|
||||
|
||||
# Home-Row-Richtungstasten (wie in Vim)
|
||||
set $left h
|
||||
@@ -44,15 +45,14 @@ set $right l
|
||||
# =============================================================================
|
||||
# Ausgabekonfiguration (Monitore & Hintergrund)
|
||||
# =============================================================================
|
||||
# Standard-Hintergrundbild
|
||||
# Standard-Hintergrundbild (ersetzt durch swww)
|
||||
output * bg ~/Bilder/wallpapersden.com_astronaut-with-jellyfish_2560x1440.jpg fill
|
||||
|
||||
# Gaps (Lücken zwischen Fenstern)
|
||||
# Alte Konfiguration auskommentiert:
|
||||
# gaps inner 10
|
||||
# gaps outer 5
|
||||
gaps inner 10
|
||||
gaps outer 5
|
||||
gaps outer 0
|
||||
smart_gaps on
|
||||
|
||||
#
|
||||
@@ -259,12 +259,20 @@ bindsym Shift+Print exec grim -g "$(slurp)" ~/Bilder/screenshot-$(date +%Y%m%d-%
|
||||
# =============================================================================
|
||||
# Autostart-Anwendungen
|
||||
# =============================================================================
|
||||
exec waybar
|
||||
# Startet den Wallpaper-Manager
|
||||
# exec mpvpaper -o "loop" DP-3 /home/jonnybravo/Bilder/270983_large.mp4
|
||||
|
||||
# exec waybar # Original command commented out
|
||||
exec sleep 1 && waybar # Start Waybar with a 1-second delay
|
||||
exec mako --config ~/.config/mako/config
|
||||
# Startet den Display-Manager für automatische Profile
|
||||
exec kanshi
|
||||
# Startet einen Clipboard-Manager (clipman muss installiert sein)
|
||||
exec wl-paste --watch clipman store
|
||||
# Startet udiskie für Automounting
|
||||
exec udiskie &
|
||||
# Startet das Skript für die automatische Bluetooth-Verbindung
|
||||
exec /home/jonnybravo/.config/sway/scripts/auto-bluetooth.sh &
|
||||
|
||||
# Alter Code auskommentiert:
|
||||
# # Optional: Startet einen Clipboard-Manager (Zwischenablage-Verlauf)
|
||||
@@ -293,8 +301,12 @@ exec swayidle -w \
|
||||
# -----------------------------------------------------------------------------
|
||||
# Spezifische Programme auf Workspaces zuweisen
|
||||
# -----------------------------------------------------------------------------
|
||||
# Brave Browser immer auf Workspace 2 starten
|
||||
# Brave Browser startet auf Workspace 2 (nicht schwebend)
|
||||
for_window [app_id="brave-browser"] move to workspace $ws2
|
||||
# floating enable
|
||||
|
||||
# Firefox als schwebendes Fenster
|
||||
for_window [app_id="firefox"] floating enable
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Bestimmte Fenster automatisch schweben lassen
|
||||
@@ -312,4 +324,11 @@ for_window [app_id="systemsettings"] floating enable
|
||||
# Qalculate! (GTK Taschenrechner)
|
||||
for_window [app_id="qalculate-gtk"] floating enable, resize set 400px 600px
|
||||
|
||||
# pulseaudio Einstellungen!
|
||||
for_window [app_id="org.pulseaudio.pavucontrol"] floating enable, resize set 800px 600px
|
||||
|
||||
# VLC als schwebendes Fenster
|
||||
for_window [class="vlc"] floating enable, resize set 800px 450px, position center
|
||||
|
||||
# Thunar als schwebendes Fenster
|
||||
for_window [app_id="thunar"] floating enable, resize set 1000px 700px, position center
|
||||
|
||||
12
config/sway/scripts/auto-bluetooth.sh
Executable file
12
config/sway/scripts/auto-bluetooth.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
# Skript zum automatischen Verbinden von Bluetooth-Geräten beim Start
|
||||
|
||||
# Eine kurze Pause, um sicherzustellen, dass der Bluetooth-Dienst vollständig gestartet ist
|
||||
sleep 10
|
||||
|
||||
# Verwendung eines Here-Dokuments, um Befehle an bluetoothctl zu senden
|
||||
bluetoothctl <<EOF
|
||||
connect 14:3F:A6:26:A8:FC
|
||||
connect AC:80:0A:22:DD:86
|
||||
exit
|
||||
EOF
|
||||
1
config/systemd/user/default.target.wants/pipewire.service
Symbolic link
1
config/systemd/user/default.target.wants/pipewire.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire.service
|
||||
10
config/systemd/user/mpd.service
Normal file
10
config/systemd/user/mpd.service
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Music Player Daemon
|
||||
After=network.target sound.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/mpd
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
1
config/systemd/user/pipewire-session-manager.service
Symbolic link
1
config/systemd/user/pipewire-session-manager.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/wireplumber.service
|
||||
1
config/systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
1
config/systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/wireplumber.service
|
||||
11
config/systemd/user/rclone-sync.service
Normal file
11
config/systemd/user/rclone-sync.service
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Rclone sync service for Nextcloud
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/rclone sync /home/jonnybravo/Nextcloud nextcloud: --include "ssh_keys/**" --include "Doku/**" --include "Hack/**" --include "Joplin/**" --include "frei/**" --log-file /home/jonnybravo/.local/share/rclone/rclone-sync.log --log-level INFO
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
10
config/systemd/user/rclone-sync.timer
Normal file
10
config/systemd/user/rclone-sync.timer
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Run rclone sync every 15 minutes
|
||||
|
||||
[Timer]
|
||||
OnBootSec=2min
|
||||
OnUnitActiveSec=15min
|
||||
Unit=rclone-sync.service
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
1
config/systemd/user/sockets.target.wants/pipewire-pulse.socket
Symbolic link
1
config/systemd/user/sockets.target.wants/pipewire-pulse.socket
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire-pulse.socket
|
||||
1
config/systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
1
config/systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/user/pipewire.socket
|
||||
1
config/systemd/user/timers.target.wants/rclone-sync.timer
Symbolic link
1
config/systemd/user/timers.target.wants/rclone-sync.timer
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/jonnybravo/.config/systemd/user/rclone-sync.timer
|
||||
1
config/tmux/plugin/catppuccin
Submodule
1
config/tmux/plugin/catppuccin
Submodule
Submodule config/tmux/plugin/catppuccin added at d6458527ef
1
config/tmux/plugins/catppuccin/tmux
Submodule
1
config/tmux/plugins/catppuccin/tmux
Submodule
Submodule config/tmux/plugins/catppuccin/tmux added at d6458527ef
1
config/tmux/plugins/tmux-plugins/tmux-battery
Submodule
1
config/tmux/plugins/tmux-plugins/tmux-battery
Submodule
Submodule config/tmux/plugins/tmux-plugins/tmux-battery added at 91b05110cc
1
config/tmux/plugins/tmux-plugins/tmux-cpu
Submodule
1
config/tmux/plugins/tmux-plugins/tmux-cpu
Submodule
Submodule config/tmux/plugins/tmux-plugins/tmux-cpu added at bcb110d754
@@ -2,33 +2,30 @@
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 35,
|
||||
"modules-left": ["sway/workspaces", "sway/mode"],
|
||||
"modules-left": ["sway/workspaces", "mpd", "sway/mode"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["mpris", "tray", "pulseaudio", "custom/bluetooth", "network", "cpu", "memory", "sway/window", "idle_inhibitor", "custom/power"],
|
||||
|
||||
"mpris": {
|
||||
"format": "{player_icon} {dynamic}",
|
||||
"format-paused": "{player_icon} {dynamic}",
|
||||
"player-icons": {
|
||||
"default": "🎵",
|
||||
"kew": "🎧"
|
||||
},
|
||||
"tooltip-format": "Titel: {title}\nAlbum: {album}\nKünstler: {artist}",
|
||||
"max-length": 30,
|
||||
"on-click": "playerctl play-pause",
|
||||
"on-scroll-up": "playerctl next",
|
||||
"on-scroll-down": "playerctl previous"
|
||||
},
|
||||
"modules-right": ["custom/updates", "tray", "pulseaudio", "custom/bluetooth", "custom/vpn", "network", "custom/rclone", "cpu", "memory", "temperature", "sway/window", "idle_inhibitor"],
|
||||
|
||||
"tray": {
|
||||
"icon-size": 16,
|
||||
"spacing": 10
|
||||
"spacing": 10,
|
||||
"excluded-icons": ["Nextcloud"]
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "",
|
||||
"tooltip": false,
|
||||
"on-click": "~/.config/waybar/power.sh"
|
||||
"mpd": {
|
||||
"format": "{stateIcon}",
|
||||
"format-disconnected": "MPD nicht verbunden",
|
||||
"format-stopped": "",
|
||||
"state-icons": {
|
||||
"playing": "",
|
||||
"paused": ""
|
||||
},
|
||||
"port": 6601,
|
||||
"tooltip-delay": 0,
|
||||
"tooltip-format": "{title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})",
|
||||
"on-click": "mpc -p 6601 toggle",
|
||||
"on-scroll-up": "mpc -p 6601 prev",
|
||||
"on-scroll-down": "mpc -p 6601 next"
|
||||
},
|
||||
|
||||
"custom/bluetooth": {
|
||||
@@ -39,6 +36,12 @@
|
||||
"on-click": "~/.config/waybar/bluetooth.sh"
|
||||
},
|
||||
|
||||
"custom/vpn": {
|
||||
"format": "{}",
|
||||
"exec": "~/.config/waybar/vpn-status.sh",
|
||||
"interval": 5
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
@@ -60,11 +63,17 @@
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"tooltip": true,
|
||||
"interval": 1
|
||||
"interval": 4
|
||||
},
|
||||
"memory": {
|
||||
"format": " {}%",
|
||||
"interval": 1
|
||||
"interval": 4
|
||||
},
|
||||
"temperature": {
|
||||
"hwmon-path": "/sys/class/hwmon/hwmon5/temp1_input",
|
||||
"format": " {temperatureC}°C",
|
||||
"critical-threshold": 90,
|
||||
"interval": 4
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": " {essid}",
|
||||
@@ -74,9 +83,18 @@
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"on-click": "alacritty -e iwctl"
|
||||
},
|
||||
|
||||
"custom/rclone": {
|
||||
"format": "{}",
|
||||
"exec": "~/.config/waybar/rclone-status.sh",
|
||||
"interval": 10
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"reverse-scrolling": 1,
|
||||
"format": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"tooltip-format": "Gerät: {desc}",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
@@ -90,6 +108,14 @@
|
||||
"on-click-right": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
},
|
||||
|
||||
"custom/updates": {
|
||||
"format": "{}",
|
||||
"exec": "~/.config/waybar/updates.sh",
|
||||
"interval": 3600,
|
||||
"tooltip": true,
|
||||
"on-click": "alacritty -e sudo pacman -Syu"
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
|
||||
33
config/waybar/rclone-status.sh
Executable file
33
config/waybar/rclone-status.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Default error state
|
||||
ICON=""
|
||||
TEXT="Unknown"
|
||||
|
||||
# Check for DBUS session
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
|
||||
TEXT="No D-Bus"
|
||||
else
|
||||
# Check if the service is active (syncing)
|
||||
if systemctl --user is-active --quiet rclone-sync.service; then
|
||||
ICON=""
|
||||
TEXT="Sync..."
|
||||
else
|
||||
# Check if the service file exists/is loaded
|
||||
if ! systemctl --user list-units --all | grep -q "rclone-sync.service"; then
|
||||
TEXT="No Service"
|
||||
else
|
||||
LAST_STATUS=$(systemctl --user show rclone-sync.service -p ExecMainStatus --value)
|
||||
if [ "$LAST_STATUS" == "0" ]; then
|
||||
ICON=""
|
||||
TEXT="OK"
|
||||
else
|
||||
ICON=""
|
||||
TEXT="Fehler"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Output a single line of plain text
|
||||
printf "%s %s\n" "$ICON" "$TEXT"
|
||||
@@ -7,7 +7,7 @@
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: rgba(30, 30, 46, 0.85); /* Base with transparency */
|
||||
background-color: rgba(30, 30, 46, 0.65); /* Base with transparency */
|
||||
color: #cdd6f4; /* Text */
|
||||
transition-property: background-color;
|
||||
transition-duration: .5s;
|
||||
@@ -20,12 +20,17 @@ window#waybar {
|
||||
#clock,
|
||||
#cpu,
|
||||
#memory,
|
||||
#temperature,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#custom-bluetooth,
|
||||
#custom-power,
|
||||
#window,
|
||||
#mpris {
|
||||
#mpris,
|
||||
#custom-rclone,
|
||||
#custom-updates,
|
||||
#custom-vpn,
|
||||
#mpd {
|
||||
padding: 2px 10px;
|
||||
margin: 3px 3px;
|
||||
border-radius: 10px;
|
||||
@@ -80,6 +85,15 @@ window#waybar {
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background-color: #a6e3a1; /* Green */
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #f38ba8; /* Red */
|
||||
}
|
||||
|
||||
#network {
|
||||
background-color: #f9e2af; /* Yellow */
|
||||
color: #1e1e2e; /* Base */
|
||||
@@ -95,13 +109,18 @@ window#waybar {
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#mpd {
|
||||
background-color: #f5e0dc; /* Rosewater */
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#window {
|
||||
font-weight: bold;
|
||||
color: #cdd6f4; /* Text */
|
||||
}
|
||||
|
||||
/* Hover-Effekt für alle Module */
|
||||
#workspaces:hover, #mode:hover, #clock:hover, #cpu:hover, #memory:hover, #network:hover, #pulseaudio:hover, #custom-bluetooth:hover, #custom-power:hover {
|
||||
#workspaces:hover, #mode:hover, #clock:hover, #cpu:hover, #memory:hover, #network:hover, #pulseaudio:hover, #custom-bluetooth:hover, #custom-power:hover, #mpd:hover {
|
||||
background-color: rgba(88, 91, 112, 0.9); /* Surface2 with transparency */
|
||||
}
|
||||
|
||||
@@ -116,3 +135,30 @@ window#waybar {
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #a6e3a1; /* Green */
|
||||
}
|
||||
|
||||
#custom-rclone {
|
||||
background-color: #89b4fa; /* Blue */
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#custom-updates {
|
||||
background-color: #fab387; /* Orange */
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#custom-vpn {
|
||||
background-color: #89b4fa; /* Blue */
|
||||
color: #1e1e2e; /* Base */
|
||||
}
|
||||
|
||||
#tooltip {
|
||||
background-color: #1e1e2e; /* Base */
|
||||
color: #cdd6f4; /* Text */
|
||||
border-radius: 10px;
|
||||
padding: 5px 10px;
|
||||
border: 1px solid #313244; /* Surface0 */
|
||||
}
|
||||
|
||||
#tooltip label {
|
||||
color: #cdd6f4; /* Text */
|
||||
}
|
||||
|
||||
18
config/waybar/updates.sh
Executable file
18
config/waybar/updates.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Führt checkupdates aus und fängt die Ausgabe ab
|
||||
updates=$(checkupdates)
|
||||
|
||||
# Prüft, ob die Ausgabe von checkupdates nicht leer ist
|
||||
if [ -n "$updates" ]; then
|
||||
# Zählt die Anzahl der verfügbaren Updates
|
||||
num_updates=$(echo "$updates" | wc -l)
|
||||
# Erstellt einen Tooltip mit den Paketnamen
|
||||
tooltip=$(echo "$updates" | sed 's/ -> / /')
|
||||
|
||||
# Gibt das JSON-Format für Waybar aus
|
||||
printf '{"text": " %s", "tooltip": "%s"}\n' "$num_updates" "$tooltip"
|
||||
else
|
||||
# Gibt nichts aus, damit Waybar das Modul verbirgt
|
||||
exit 0
|
||||
fi
|
||||
12
config/waybar/vpn-status.sh
Executable file
12
config/waybar/vpn-status.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script checks for a WireGuard interface.
|
||||
WG_INTERFACE="wg0"
|
||||
|
||||
if ip link show "$WG_INTERFACE" &> /dev/null; then
|
||||
# If the interface exists, VPN is on.
|
||||
printf " VPN On\n"
|
||||
else
|
||||
# If not, VPN is off.
|
||||
printf " VPN Off\n"
|
||||
fi
|
||||
BIN
media/wallpapersden.com_astronaut-with-jellyfish_2560x1440.jpg
Normal file
BIN
media/wallpapersden.com_astronaut-with-jellyfish_2560x1440.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 777 KiB |
@@ -1,7 +1,7 @@
|
||||
- name: Deploy Sway Configuration
|
||||
hosts: localhost
|
||||
connection: local
|
||||
become: true # Run the entire playbook with elevated privileges
|
||||
become: true
|
||||
|
||||
vars:
|
||||
target_user: jonnybravo
|
||||
@@ -26,53 +26,127 @@
|
||||
- playerctl
|
||||
- qalculate-gtk
|
||||
- tmux
|
||||
- rclone
|
||||
- pacman-contrib
|
||||
- udisks2
|
||||
- udiskie
|
||||
- mpd
|
||||
- ncmpcpp
|
||||
- ttf-dejavu
|
||||
- otf-font-awesome
|
||||
- papirus-icon-theme
|
||||
- nwg-look
|
||||
state: present
|
||||
|
||||
- name: Ensure .config directory exists for target user
|
||||
ansible.builtin.file:
|
||||
path: "/home/{{ target_user }}/.config"
|
||||
state: directory
|
||||
owner: "{{ target_user }}"
|
||||
group: "{{ target_user }}"
|
||||
mode: '0755'
|
||||
- name: Check if yay is installed
|
||||
ansible.builtin.command: "which yay"
|
||||
register: yay_check
|
||||
changed_when: false
|
||||
ignore_errors: true
|
||||
|
||||
- name: Ensure .config subdirectories exist
|
||||
- name: Install AUR packages with yay
|
||||
ansible.builtin.command: "yay -S --noconfirm tty-clock catppuccin-gtk-theme-mocha"
|
||||
when: yay_check.rc == 0
|
||||
become: true
|
||||
become_user: "{{ target_user }}"
|
||||
|
||||
- name: Add user to storage group
|
||||
ansible.builtin.user:
|
||||
name: "{{ target_user }}"
|
||||
groups: storage
|
||||
append: true
|
||||
notify:
|
||||
- Reboot required for group changes
|
||||
|
||||
- name: Create required directories
|
||||
ansible.builtin.file:
|
||||
path: "/home/{{ target_user }}/.config/{{ item }}"
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ target_user }}"
|
||||
group: "{{ target_user }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- sway
|
||||
- waybar
|
||||
- mako
|
||||
- wofi
|
||||
- alacritty
|
||||
- kanshi
|
||||
- "/home/{{ target_user }}/.config/sway"
|
||||
- "/home/{{ target_user }}/.config/sway/scripts"
|
||||
- "/home/{{ target_user }}/.config/waybar"
|
||||
- "/home/{{ target_user }}/.config/mako"
|
||||
- "/home/{{ target_user }}/.config/wofi"
|
||||
- "/home/{{ target_user }}/.config/alacritty"
|
||||
- "/home/{{ target_user }}/.config/kanshi"
|
||||
- "/home/{{ target_user }}/.config/rclone"
|
||||
- "/home/{{ target_user }}/.config/systemd/user"
|
||||
- "/home/{{ target_user }}/.config/mpd"
|
||||
- "/home/{{ target_user }}/.config/ncmpcpp"
|
||||
|
||||
- name: Copy all config files
|
||||
- name: Copy configuration files
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/config/{{ item.path }}"
|
||||
dest: "/home/{{ target_user }}/.config/{{ item.path }}"
|
||||
src: "{{ playbook_dir }}/{{ item.src }}"
|
||||
dest: "/home/{{ target_user }}/{{ item.dest }}"
|
||||
owner: "{{ target_user }}"
|
||||
group: "{{ target_user }}"
|
||||
mode: '0644'
|
||||
loop:
|
||||
- { path: 'sway/config' }
|
||||
- { path: 'waybar/config' }
|
||||
- { path: 'waybar/style.css' }
|
||||
- { path: 'mako/config' }
|
||||
- { path: 'wofi/config' }
|
||||
- { path: 'alacritty/alacritty.toml' }
|
||||
- { path: 'alacritty/alacritty.yml' }
|
||||
- { path: 'alacritty/catppuccin-mocha.toml' }
|
||||
- { path: 'kanshi/config' }
|
||||
- { src: 'config/sway/config', dest: '.config/sway/config' }
|
||||
- { src: 'config/waybar/config', dest: '.config/waybar/config' }
|
||||
- { src: 'config/waybar/style.css', dest: '.config/waybar/style.css' }
|
||||
- { src: 'config/mako/config', dest: '.config/mako/config' }
|
||||
- { src: 'config/wofi/config', dest: '.config/wofi/config' }
|
||||
- { src: 'config/alacritty/alacritty.toml', dest: '.config/alacritty/alacritty.toml' }
|
||||
- { src: 'config/alacritty/alacritty.yml', dest: '.config/alacritty/alacritty.yml' }
|
||||
- { src: 'config/alacritty/catppuccin-mocha.toml', dest: '.config/alacritty/catppuccin-mocha.toml' }
|
||||
- { src: 'config/kanshi/config', dest: '.config/kanshi/config' }
|
||||
- { src: 'config/rclone/rclone.conf', dest: '.config/rclone/rclone.conf' }
|
||||
- { src: '.tmux.conf', dest: '.tmux.conf' }
|
||||
- { src: 'config/systemd/user/rclone-sync.service', dest: '.config/systemd/user/rclone-sync.service' }
|
||||
- { src: 'config/systemd/user/rclone-sync.timer', dest: '.config/systemd/user/rclone-sync.timer' }
|
||||
- { src: 'config/mpd/mpd.conf', dest: '.config/mpd/mpd.conf' }
|
||||
- { src: 'config/ncmpcpp', dest: '.config/ncmpcpp' }
|
||||
- { src: 'config/systemd/user/mpd.service', dest: '.config/systemd/user/mpd.service' }
|
||||
|
||||
- name: Copy Tmux config to home directory
|
||||
- name: Copy background image
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/.tmux.conf"
|
||||
dest: "/home/{{ target_user }}/.tmux.conf"
|
||||
src: "{{ playbook_dir }}/media/wallpapersden.com_astronaut-with-jellyfish_2560x1440.jpg"
|
||||
dest: "/home/{{ target_user }}/Bilder/wallpapersden.com_astronaut-with-jellyfish_2560x1440.jpg"
|
||||
owner: "{{ target_user }}"
|
||||
group: "{{ target_user }}"
|
||||
mode: '0644'
|
||||
|
||||
- name: Copy and make waybar scripts executable
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/config/waybar/{{ item }}"
|
||||
dest: "/home/{{ target_user }}/.config/waybar/{{ item }}"
|
||||
owner: "{{ target_user }}"
|
||||
group: "{{ target_user }}"
|
||||
mode: '0755'
|
||||
loop:
|
||||
- "updates.sh"
|
||||
- "vpn-status.sh"
|
||||
- "rclone-status.sh"
|
||||
|
||||
- name: Copy and make sway scripts executable
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/config/sway/scripts/auto-bluetooth.sh"
|
||||
dest: "/home/{{ target_user }}/.config/sway/scripts/auto-bluetooth.sh"
|
||||
owner: "{{ target_user }}"
|
||||
group: "{{ target_user }}"
|
||||
mode: '0755'
|
||||
|
||||
- name: Reload systemd daemon for the target user
|
||||
ansible.builtin.command: "systemctl --user daemon-reload"
|
||||
become: true
|
||||
become_user: "{{ target_user }}"
|
||||
|
||||
- name: Enable and start the rclone timer for the target user
|
||||
ansible.builtin.command: "systemctl --user enable --now rclone-sync.timer"
|
||||
become: true
|
||||
become_user: "{{ target_user }}"
|
||||
|
||||
- name: Enable and start mpd service for the target user
|
||||
ansible.builtin.command: "systemctl --user enable --now mpd.service"
|
||||
become: true
|
||||
become_user: "{{ target_user }}"
|
||||
|
||||
handlers:
|
||||
- name: Reboot required for group changes
|
||||
ansible.builtin.debug:
|
||||
msg: "User '{{ target_user }}' was added to the 'storage' group. A reboot or re-login is required for changes to take effect."
|
||||
Reference in New Issue
Block a user