feat(apps): add OpenDeck + ydotool module
Installs ydotool via pacman and OpenDeck via Flatpak, wires ydotoold and OpenDeck into the Hyprland autostart. Registers the module in the TUI installer, answerfile generator, and docs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
29dc304e4f
commit
66e51474a1
|
|
@ -22,4 +22,6 @@ hl.on("hyprland.start", function()
|
|||
hl.exec_cmd("hypridle")
|
||||
hl.exec_cmd("bash ~/Dotfiles/desktopenvs/hyprlua/scripts/presence-detect.sh")
|
||||
hl.exec_cmd("chamel")
|
||||
hl.exec_cmd("ydotoold")
|
||||
hl.exec_cmd("flatpak run com.mairtech.OpenDeck")
|
||||
end)
|
||||
|
|
|
|||
|
|
@ -217,6 +217,7 @@ bash ~/Dotfiles/setup/install-modules.sh
|
|||
| `butter` | butter (AUR) | Btrfs snapshot backup manager |
|
||||
| `localsend` | localsend (AUR) | LAN file transfer (AirDrop-like) |
|
||||
| `croc` | croc | Cross-platform encrypted file transfer |
|
||||
| `opendeck` | ydotool (pacman) · OpenDeck (Flatpak) | Stream Deck controller; ydotoold + OpenDeck added to Hyprland autostart |
|
||||
| `localtunnel` | localtunnel (npm) | Expose localhost over a public URL |
|
||||
| `onlyoffice` | onlyoffice-bin (AUR) | Office suite (Docs, Sheets, Slides) |
|
||||
|
||||
|
|
|
|||
|
|
@ -253,6 +253,7 @@ if [[ "$AF_RUN_TUI" == "true" ]]; then
|
|||
"stuntrally" "Stunt Rally rally racing game (Flatpak)" off \
|
||||
"localsend" "LocalSend LAN file transfer (AUR)" off \
|
||||
"croc" "croc cross-platform file transfer" off \
|
||||
"opendeck" "OpenDeck Stream Deck controller (Flatpak+ydotool)" off \
|
||||
"onlyoffice" "OnlyOffice office suite (AUR)" off \
|
||||
"xournal" "Xournal++ note-taking & PDF annotator" off \
|
||||
"gimp" "GIMP GNU image manipulation program" off \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||
|
||||
log "Installing ydotool (pacman)..."
|
||||
sudo pacman -S --noconfirm --needed ydotool
|
||||
|
||||
log "Installing OpenDeck (Flatpak)..."
|
||||
ensure_flatpak
|
||||
flatpak install -y flathub com.mairtech.OpenDeck
|
||||
|
||||
log "Wiring ydotoold + OpenDeck into Hyprland autostart..."
|
||||
AUTOSTART="$HOME/Dotfiles/desktopenvs/hyprlua/hypr/usr/autostart.lua"
|
||||
if grep -q "ydotoold\|OpenDeck\|com.mairtech.OpenDeck" "$AUTOSTART"; then
|
||||
skip "ydotoold/OpenDeck already present in autostart.lua — skipping."
|
||||
else
|
||||
# Insert before the closing end) so entries appear inside the on("hyprland.start") block
|
||||
sed -i 's|^end)$| hl.exec_cmd("ydotoold")\n hl.exec_cmd("flatpak run com.mairtech.OpenDeck")\nend)|' "$AUTOSTART"
|
||||
log "Autostart entries added."
|
||||
fi
|
||||
|
||||
log "OpenDeck + ydotool installed."
|
||||
|
|
@ -194,6 +194,7 @@ count_steps() {
|
|||
[[ "$a" == *"stuntrally"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
[[ "$a" == *"localsend"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
[[ "$a" == *"croc"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
[[ "$a" == *"opendeck"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
[[ "$a" == *"onlyoffice"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
[[ "$a" == *"wireshark"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
[[ "$a" == *"k8s"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||
|
|
@ -474,6 +475,7 @@ else
|
|||
"stuntrally" "Stunt Rally rally racing game (Flatpak)" off \
|
||||
"localsend" "LocalSend LAN file transfer (AUR)" off \
|
||||
"croc" "croc cross-platform file transfer" off \
|
||||
"opendeck" "OpenDeck Stream Deck controller (Flatpak+ydotool)" off \
|
||||
"onlyoffice" "OnlyOffice office suite (AUR)" off \
|
||||
"xournal" "Xournal++ note-taking & PDF annotator" off \
|
||||
"gimp" "GIMP GNU image manipulation program" off \
|
||||
|
|
@ -584,6 +586,7 @@ if ! $ANSWERFILE_MODE; then
|
|||
[[ "$SELECTED_APPS" == *"stuntrally"* ]] && SUMMARY+=" ✦ Stunt Rally\n"
|
||||
[[ "$SELECTED_APPS" == *"localsend"* ]] && SUMMARY+=" ✦ LocalSend\n"
|
||||
[[ "$SELECTED_APPS" == *"croc"* ]] && SUMMARY+=" ✦ croc\n"
|
||||
[[ "$SELECTED_APPS" == *"opendeck"* ]] && SUMMARY+=" ✦ OpenDeck + ydotool\n"
|
||||
[[ "$SELECTED_APPS" == *"onlyoffice"* ]] && SUMMARY+=" ✦ OnlyOffice\n"
|
||||
[[ "$SELECTED_APPS" == *"xournal"* ]] && SUMMARY+=" ✦ Xournal++\n"
|
||||
[[ "$SELECTED_APPS" == *"gimp"* ]] && SUMMARY+=" ✦ GIMP\n"
|
||||
|
|
@ -702,6 +705,7 @@ fi
|
|||
[[ "$SELECTED_APPS" == *"stuntrally"* ]] && run_module "Stunt Rally" "$APPS/stuntrally.sh"
|
||||
[[ "$SELECTED_APPS" == *"localsend"* ]] && run_module "LocalSend" "$APPS/localsend.sh"
|
||||
[[ "$SELECTED_APPS" == *"croc"* ]] && run_module "croc" "$APPS/croc.sh"
|
||||
[[ "$SELECTED_APPS" == *"opendeck"* ]] && run_module "OpenDeck" "$APPS/opendeck.sh"
|
||||
[[ "$SELECTED_APPS" == *"onlyoffice"* ]] && run_module "OnlyOffice" "$APPS/onlyoffice.sh"
|
||||
[[ "$SELECTED_APPS" == *"xournal"* ]] && run_module "Xournal++" "$APPS/xournal.sh"
|
||||
[[ "$SELECTED_APPS" == *"gimp"* ]] && run_module "GIMP" "$APPS/gimp.sh"
|
||||
|
|
|
|||
Loading…
Reference in New Issue