From 962ef67a5ae44f7bbdacd0986675e342e7918e2b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 08:53:36 +0200 Subject: [PATCH 01/11] Add missing dependency --- bin/omarchy-install-battlenet | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-install-battlenet b/bin/omarchy-install-battlenet index bf0f7088..b699afdd 100755 --- a/bin/omarchy-install-battlenet +++ b/bin/omarchy-install-battlenet @@ -5,7 +5,7 @@ set -e -omarchy-pkg-add lutris wine-staging wine-mono wine-gecko winetricks python-protobuf +omarchy-pkg-add lutris umu-launcher wine-staging wine-mono wine-gecko winetricks python-protobuf omarchy-install-vulkan-lib32 omarchy-install-nvidia-lib32 From 3a09750e01bf8c4139af6066bc657497071fb65f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 08:54:12 +0200 Subject: [PATCH 02/11] Make it more resilient --- bin/omarchy-pkg-drop | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/omarchy-pkg-drop b/bin/omarchy-pkg-drop index 06e396cd..0cbbfca6 100755 --- a/bin/omarchy-pkg-drop +++ b/bin/omarchy-pkg-drop @@ -4,8 +4,13 @@ # omarchy:args= # omarchy:requires-sudo=true +installed=() for pkg in "$@"; do if pacman -Q "$pkg" &>/dev/null; then - sudo pacman -Rns --noconfirm "$pkg" + installed+=("$pkg") fi done + +if (( ${#installed[@]} > 0 )); then + sudo pacman -Rns --noconfirm "${installed[@]}" +fi From 9fa2b29c24ffefe70c337355df040be8a69f70e2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 08:57:19 +0200 Subject: [PATCH 03/11] Add Remove > Gaming options --- bin/omarchy-menu | 15 +++++++++- bin/omarchy-remove-gaming-battlenet | 23 +++++++++++++++ bin/omarchy-remove-gaming-geforce-now | 12 ++++++++ bin/omarchy-remove-gaming-minecraft | 17 +++++++++++ bin/omarchy-remove-gaming-retroarch | 33 ++++++++++++++++++++++ bin/omarchy-remove-gaming-steam | 17 +++++++++++ bin/omarchy-remove-gaming-xbox-controllers | 13 +++++++++ 7 files changed, 129 insertions(+), 1 deletion(-) create mode 100755 bin/omarchy-remove-gaming-battlenet create mode 100755 bin/omarchy-remove-gaming-geforce-now create mode 100755 bin/omarchy-remove-gaming-minecraft create mode 100755 bin/omarchy-remove-gaming-retroarch create mode 100755 bin/omarchy-remove-gaming-steam create mode 100755 bin/omarchy-remove-gaming-xbox-controllers diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 4a1b8565..8f9867f8 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -465,11 +465,12 @@ show_install_elixir_menu() { } show_remove_menu() { - case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰵮 Development\n󰏓 Preinstalls\n Dictation\n󰸌 Theme\n󰍲 Windows\n󰈷 Fingerprint\n Fido2") in + case $(menu "Remove" "󰣇 Package\n Web App\n TUI\n󰵮 Development\n Gaming\n󰏓 Preinstalls\n Dictation\n󰸌 Theme\n󰍲 Windows\n󰈷 Fingerprint\n Fido2") in *Package*) terminal omarchy-pkg-remove ;; *Web*) present_terminal omarchy-webapp-remove ;; *TUI*) present_terminal omarchy-tui-remove ;; *Development*) show_remove_development_menu ;; + *Gaming*) show_remove_gaming_menu ;; *Preinstalls*) present_terminal omarchy-remove-preinstalls ;; *Dictation*) present_terminal omarchy-voxtype-remove ;; *Theme*) present_terminal omarchy-theme-remove ;; @@ -480,6 +481,18 @@ show_remove_menu() { esac } +show_remove_gaming_menu() { + case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n󰖺 Xbox Controller") in + *Steam*) present_terminal omarchy-remove-gaming-steam ;; + *RetroArch*) present_terminal omarchy-remove-gaming-retroarch ;; + *Minecraft*) present_terminal omarchy-remove-gaming-minecraft ;; + *Battle.net*) present_terminal omarchy-remove-gaming-battlenet ;; + *GeForce*) present_terminal omarchy-remove-gaming-geforce-now ;; + *Xbox*) present_terminal omarchy-remove-gaming-xbox-controllers ;; + *) show_remove_menu ;; + esac +} + show_remove_development_menu() { case $(menu "Remove" "󰫏 Ruby on Rails\n JavaScript\n Go\n PHP\n Python\n Elixir\n Zig\n Rust\n Java\n .NET\n OCaml\n Clojure\n Scala") in *Rails*) present_terminal "omarchy-remove-dev-env ruby" ;; diff --git a/bin/omarchy-remove-gaming-battlenet b/bin/omarchy-remove-gaming-battlenet new file mode 100755 index 00000000..b113c0c0 --- /dev/null +++ b/bin/omarchy-remove-gaming-battlenet @@ -0,0 +1,23 @@ +#!/bin/bash + +# omarchy:summary=Remove Battle.net along with Lutris, Wine, umu-launcher, and all their configs and caches. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-drop lutris wine-staging wine-mono wine-gecko winetricks python-protobuf umu-launcher + +rm -rf \ + "$HOME/Games/battlenet" \ + "$HOME/Games/battle-net" \ + "$HOME/.config/lutris" \ + "$HOME/.local/share/lutris" \ + "$HOME/.cache/lutris" \ + "$HOME/.local/share/umu" \ + "$HOME/.cache/umu" \ + "$HOME/.wine" \ + "$HOME/.cache/wine" \ + "$HOME/.cache/winetricks" + +echo "" +echo "Battle.net, Lutris, Wine, umu-launcher, and their configs have been removed." diff --git a/bin/omarchy-remove-gaming-geforce-now b/bin/omarchy-remove-gaming-geforce-now new file mode 100755 index 00000000..9947ee10 --- /dev/null +++ b/bin/omarchy-remove-gaming-geforce-now @@ -0,0 +1,12 @@ +#!/bin/bash + +# omarchy:summary=Remove the GeForce NOW Flatpak app and its data. + +set -e + +if command -v flatpak >/dev/null && flatpak info com.nvidia.geforcenow &>/dev/null; then + flatpak uninstall -y --delete-data com.nvidia.geforcenow +fi + +echo "" +echo "GeForce NOW removed." diff --git a/bin/omarchy-remove-gaming-minecraft b/bin/omarchy-remove-gaming-minecraft new file mode 100755 index 00000000..1e439213 --- /dev/null +++ b/bin/omarchy-remove-gaming-minecraft @@ -0,0 +1,17 @@ +#!/bin/bash + +# omarchy:summary=Remove the Minecraft launcher along with its worlds, mods, and caches. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-drop minecraft-launcher + +rm -rf \ + "$HOME/.minecraft" \ + "$HOME/.config/Minecraft Launcher" \ + "$HOME/.local/share/minecraft-launcher" \ + "$HOME/.cache/minecraft" + +echo "" +echo "Minecraft and its data have been removed." diff --git a/bin/omarchy-remove-gaming-retroarch b/bin/omarchy-remove-gaming-retroarch new file mode 100755 index 00000000..d3c101c8 --- /dev/null +++ b/bin/omarchy-remove-gaming-retroarch @@ -0,0 +1,33 @@ +#!/bin/bash + +# omarchy:summary=Remove RetroArch, all libretro cores, and its config/saves. Leaves ~/Games/roms and ~/Games/bios alone. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-drop \ + retroarch \ + retroarch-assets-glui retroarch-assets-ozone retroarch-assets-xmb \ + libretro-beetle-pce libretro-beetle-pce-fast libretro-beetle-psx libretro-beetle-psx-hw libretro-beetle-supergrafx \ + libretro-blastem \ + libretro-bsnes libretro-bsnes-hd libretro-bsnes2014 \ + libretro-core-info \ + libretro-desmume libretro-dolphin libretro-flycast \ + libretro-gambatte libretro-genesis-plus-gx \ + libretro-kronos \ + libretro-mame libretro-mame2016 libretro-melonds libretro-mesen libretro-mesen-s libretro-mgba libretro-mupen64plus-next \ + libretro-nestopia \ + libretro-overlays \ + libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \ + libretro-sameboy libretro-scummvm libretro-shaders-slang libretro-snes9x \ + libretro-yabause \ + libretro-fbneo-git + +rm -rf \ + "$HOME/.config/retroarch" \ + "$HOME/.local/share/retroarch" \ + "$HOME/.cache/retroarch" + +echo "" +echo "RetroArch and its cores have been removed." +echo "ROMs and BIOS files at ~/Games/roms and ~/Games/bios were left in place." diff --git a/bin/omarchy-remove-gaming-steam b/bin/omarchy-remove-gaming-steam new file mode 100755 index 00000000..1b20ec22 --- /dev/null +++ b/bin/omarchy-remove-gaming-steam @@ -0,0 +1,17 @@ +#!/bin/bash + +# omarchy:summary=Remove Steam and all of its game libraries, configs, and caches. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-drop steam + +rm -rf \ + "$HOME/.steam" \ + "$HOME/.local/share/Steam" \ + "$HOME/.config/steam" \ + "$HOME/.cache/steam" + +echo "" +echo "Steam and its data have been removed." diff --git a/bin/omarchy-remove-gaming-xbox-controllers b/bin/omarchy-remove-gaming-xbox-controllers new file mode 100755 index 00000000..d20af7e6 --- /dev/null +++ b/bin/omarchy-remove-gaming-xbox-controllers @@ -0,0 +1,13 @@ +#!/bin/bash + +# omarchy:summary=Remove the xpadneo Xbox controller driver and undo its module/blacklist config. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-drop xpadneo-dkms + +sudo rm -f /etc/modprobe.d/blacklist-xpad.conf /etc/modules-load.d/xpadneo.conf + +echo "" +echo "Xbox controller support removed. Reboot to fully unload xpadneo and restore xpad." From 517ae9d0e06a2c41e9079604b583783be3f88b8c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 09:04:48 +0200 Subject: [PATCH 04/11] Update install instructions --- bin/omarchy-install-battlenet | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-install-battlenet b/bin/omarchy-install-battlenet index b699afdd..49730d0e 100755 --- a/bin/omarchy-install-battlenet +++ b/bin/omarchy-install-battlenet @@ -13,7 +13,12 @@ omarchy-install-nvidia-lib32 # fails to import the lutris module. Pin the shebang to the system Python. sudo sed -i '/env python3/ c\#!/bin/python3' /usr/bin/lutris -echo "" -echo "Lutris will open the Battle.net installer. Click Install and follow the prompts." +cat <<'EOF' -setsid lutris lutris:install/battlenet >/dev/null 2>&1 & +Lutris will open and auto-fetch its DXVK and VKD3D runtimes in the background +(watch the bottom status bar). Once that finishes, click the +, search for "Battle.net" in +the games list and click Install. + +EOF + +setsid lutris >/dev/null 2>&1 & From d0e3e76df99eb9d10cdc0b9c56abbf29c167d8f3 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 09:08:15 +0200 Subject: [PATCH 05/11] Collapse installer together --- bin/omarchy-install-battlenet | 3 +-- ...nstall-vulkan-lib32 => omarchy-install-gpu-lib32} | 8 +++++++- bin/omarchy-install-nvidia-lib32 | 12 ------------ bin/omarchy-install-steam | 3 +-- 4 files changed, 9 insertions(+), 17 deletions(-) rename bin/{omarchy-install-vulkan-lib32 => omarchy-install-gpu-lib32} (61%) delete mode 100755 bin/omarchy-install-nvidia-lib32 diff --git a/bin/omarchy-install-battlenet b/bin/omarchy-install-battlenet index 49730d0e..fbf23033 100755 --- a/bin/omarchy-install-battlenet +++ b/bin/omarchy-install-battlenet @@ -6,8 +6,7 @@ set -e omarchy-pkg-add lutris umu-launcher wine-staging wine-mono wine-gecko winetricks python-protobuf -omarchy-install-vulkan-lib32 -omarchy-install-nvidia-lib32 +omarchy-install-gpu-lib32 # Lutris ships with `#!/usr/bin/env python3`, which resolves to mise's Python and # fails to import the lutris module. Pin the shebang to the system Python. diff --git a/bin/omarchy-install-vulkan-lib32 b/bin/omarchy-install-gpu-lib32 similarity index 61% rename from bin/omarchy-install-vulkan-lib32 rename to bin/omarchy-install-gpu-lib32 index 76e4ae92..e0986764 100755 --- a/bin/omarchy-install-vulkan-lib32 +++ b/bin/omarchy-install-gpu-lib32 @@ -1,6 +1,6 @@ #!/bin/bash -# omarchy:summary=Install lib32 Vulkan drivers for any detected Intel/AMD GPUs (no-op otherwise). +# omarchy:summary=Install lib32 graphics drivers (Vulkan + NVIDIA) for any detected GPUs. # omarchy:requires-sudo=true set -e @@ -17,4 +17,10 @@ for vendor in "${!VULKAN_DRIVERS[@]}"; do fi done +if omarchy-hw-nvidia-gsp; then + PACKAGES+=(lib32-nvidia-utils) +elif omarchy-hw-nvidia-without-gsp; then + PACKAGES+=(lib32-nvidia-580xx-utils) +fi + [[ ${#PACKAGES[@]} -gt 0 ]] && omarchy-pkg-add "${PACKAGES[@]}" diff --git a/bin/omarchy-install-nvidia-lib32 b/bin/omarchy-install-nvidia-lib32 deleted file mode 100755 index ca9e4367..00000000 --- a/bin/omarchy-install-nvidia-lib32 +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# omarchy:summary=Install the lib32 NVIDIA driver matching the detected GPU generation (no-op if no NVIDIA). -# omarchy:requires-sudo=true - -set -e - -if omarchy-hw-nvidia-gsp; then - omarchy-pkg-add lib32-nvidia-utils -elif omarchy-hw-nvidia-without-gsp; then - omarchy-pkg-add lib32-nvidia-580xx-utils -fi diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-steam index 57c3e446..871e659d 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-steam @@ -6,8 +6,7 @@ set -e omarchy-pkg-add steam -omarchy-install-vulkan-lib32 -omarchy-install-nvidia-lib32 +omarchy-install-gpu-lib32 echo "" echo "Steam will start automatically now. This might take a while..." From 5b288f1e2824b4c9e852d47f3fe2edf8d942fd9c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 09:13:33 +0200 Subject: [PATCH 06/11] Group all gaming installers together --- ...tall-battlenet => omarchy-install-gaming-battlenet} | 2 +- ...-geforce-now => omarchy-install-gaming-geforce-now} | 0 ...tall-gpu-lib32 => omarchy-install-gaming-gpu-lib32} | 0 ...tall-retroarch => omarchy-install-gaming-retroarch} | 0 ...rchy-install-steam => omarchy-install-gaming-steam} | 2 +- ...rollers => omarchy-install-gaming-xbox-controllers} | 0 bin/omarchy-menu | 10 +++++----- 7 files changed, 7 insertions(+), 7 deletions(-) rename bin/{omarchy-install-battlenet => omarchy-install-gaming-battlenet} (95%) rename bin/{omarchy-install-geforce-now => omarchy-install-gaming-geforce-now} (100%) rename bin/{omarchy-install-gpu-lib32 => omarchy-install-gaming-gpu-lib32} (100%) rename bin/{omarchy-install-retroarch => omarchy-install-gaming-retroarch} (100%) rename bin/{omarchy-install-steam => omarchy-install-gaming-steam} (89%) rename bin/{omarchy-install-xbox-controllers => omarchy-install-gaming-xbox-controllers} (100%) diff --git a/bin/omarchy-install-battlenet b/bin/omarchy-install-gaming-battlenet similarity index 95% rename from bin/omarchy-install-battlenet rename to bin/omarchy-install-gaming-battlenet index fbf23033..7cc30f80 100755 --- a/bin/omarchy-install-battlenet +++ b/bin/omarchy-install-gaming-battlenet @@ -6,7 +6,7 @@ set -e omarchy-pkg-add lutris umu-launcher wine-staging wine-mono wine-gecko winetricks python-protobuf -omarchy-install-gpu-lib32 +omarchy-install-gaming-gpu-lib32 # Lutris ships with `#!/usr/bin/env python3`, which resolves to mise's Python and # fails to import the lutris module. Pin the shebang to the system Python. diff --git a/bin/omarchy-install-geforce-now b/bin/omarchy-install-gaming-geforce-now similarity index 100% rename from bin/omarchy-install-geforce-now rename to bin/omarchy-install-gaming-geforce-now diff --git a/bin/omarchy-install-gpu-lib32 b/bin/omarchy-install-gaming-gpu-lib32 similarity index 100% rename from bin/omarchy-install-gpu-lib32 rename to bin/omarchy-install-gaming-gpu-lib32 diff --git a/bin/omarchy-install-retroarch b/bin/omarchy-install-gaming-retroarch similarity index 100% rename from bin/omarchy-install-retroarch rename to bin/omarchy-install-gaming-retroarch diff --git a/bin/omarchy-install-steam b/bin/omarchy-install-gaming-steam similarity index 89% rename from bin/omarchy-install-steam rename to bin/omarchy-install-gaming-steam index 871e659d..e08b26f5 100755 --- a/bin/omarchy-install-steam +++ b/bin/omarchy-install-gaming-steam @@ -6,7 +6,7 @@ set -e omarchy-pkg-add steam -omarchy-install-gpu-lib32 +omarchy-install-gaming-gpu-lib32 echo "" echo "Steam will start automatically now. This might take a while..." diff --git a/bin/omarchy-install-xbox-controllers b/bin/omarchy-install-gaming-xbox-controllers similarity index 100% rename from bin/omarchy-install-xbox-controllers rename to bin/omarchy-install-gaming-xbox-controllers diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 8f9867f8..bbde5c06 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -387,12 +387,12 @@ show_install_ai_menu() { show_install_gaming_menu() { case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n󰖺 Xbox Controller [AUR]") in - *Steam*) present_terminal omarchy-install-steam ;; - *RetroArch*) present_terminal omarchy-install-retroarch ;; + *Steam*) present_terminal omarchy-install-gaming-steam ;; + *RetroArch*) present_terminal omarchy-install-gaming-retroarch ;; *Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;; - *Battle.net*) present_terminal omarchy-install-battlenet ;; - *GeForce*) present_terminal omarchy-install-geforce-now ;; - *Xbox*) present_terminal omarchy-install-xbox-controllers ;; + *Battle.net*) present_terminal omarchy-install-gaming-battlenet ;; + *GeForce*) present_terminal omarchy-install-gaming-geforce-now ;; + *Xbox*) present_terminal omarchy-install-gaming-xbox-controllers ;; *) show_install_menu ;; esac } From 5d3d3fd78a70135189332826d6bb644d88316371 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 09:45:33 +0200 Subject: [PATCH 07/11] Improve xbox controller installation flow --- bin/omarchy-install-gaming-xbox-controllers | 27 ++++++++++++++++----- bin/omarchy-menu | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/bin/omarchy-install-gaming-xbox-controllers b/bin/omarchy-install-gaming-xbox-controllers index be5e97d9..a6fa654b 100755 --- a/bin/omarchy-install-gaming-xbox-controllers +++ b/bin/omarchy-install-gaming-xbox-controllers @@ -6,15 +6,30 @@ set -e # Install xpadneo to ensure controllers work out of the box -omarchy-pkg-add linux-headers -omarchy-pkg-aur-add xpadneo-dkms +omarchy-pkg-add linux-headers xpadneo-dkms # Prevent xpad/xpadneo driver conflict echo blacklist xpad | sudo tee /etc/modprobe.d/blacklist-xpad.conf >/dev/null echo hid_xpadneo | sudo tee /etc/modules-load.d/xpadneo.conf >/dev/null -# Give user access to game controllers -sudo usermod -a -G input $USER +# Ensure user is in the input group (controllers need it) +needs_reboot=false +if ! id -nG "$USER" | grep -qw input; then + sudo usermod -aG input "$USER" + needs_reboot=true +fi -# Modules need to be loaded -gum confirm "Install requires reboot. Ready?" && sudo reboot now +# Swap drivers in the running kernel so a reboot isn't needed otherwise +if lsmod | grep -q '^xpad '; then + sudo modprobe -r xpad 2>/dev/null || needs_reboot=true +fi + +if $needs_reboot; then + gum confirm "Reboot needed to finish setup. Reboot now?" && sudo reboot now + exit 0 +fi + +sudo modprobe hid_xpadneo + +echo "" +echo "Xbox controller Bluetooth support is active. Pair it with Bluetooth using Super + Ctrl + B." diff --git a/bin/omarchy-menu b/bin/omarchy-menu index bbde5c06..c1f95b47 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -386,7 +386,7 @@ show_install_ai_menu() { } show_install_gaming_menu() { - case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n󰖺 Xbox Controller [AUR]") in + case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n󰖺 Xbox Controller (󰂯)") in *Steam*) present_terminal omarchy-install-gaming-steam ;; *RetroArch*) present_terminal omarchy-install-gaming-retroarch ;; *Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;; From d00e2b8a9806691a3de3d2521e4219759637b324 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 09:57:13 +0200 Subject: [PATCH 08/11] Add xbox cloud gaming as an option --- bin/omarchy-install-gaming-xbox-cloud | 9 +++++++++ bin/omarchy-menu | 6 ++++-- bin/omarchy-remove-gaming-xbox-cloud | 7 +++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100755 bin/omarchy-install-gaming-xbox-cloud create mode 100755 bin/omarchy-remove-gaming-xbox-cloud diff --git a/bin/omarchy-install-gaming-xbox-cloud b/bin/omarchy-install-gaming-xbox-cloud new file mode 100755 index 00000000..958cc025 --- /dev/null +++ b/bin/omarchy-install-gaming-xbox-cloud @@ -0,0 +1,9 @@ +#!/bin/bash + +# omarchy:summary=Install Xbox Cloud Gaming as a web app and launch it. + +set -e + +omarchy-webapp-install "Xbox Cloud Gaming" "https://www.xbox.com/en-US/play" "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/xbox.png" + +setsid omarchy-launch-webapp "https://www.xbox.com/en-US/play" >/dev/null 2>&1 & diff --git a/bin/omarchy-menu b/bin/omarchy-menu index c1f95b47..205b290e 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -386,12 +386,13 @@ show_install_ai_menu() { } show_install_gaming_menu() { - case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n󰖺 Xbox Controller (󰂯)") in + case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller (󰂯)") in *Steam*) present_terminal omarchy-install-gaming-steam ;; *RetroArch*) present_terminal omarchy-install-gaming-retroarch ;; *Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;; *Battle.net*) present_terminal omarchy-install-gaming-battlenet ;; *GeForce*) present_terminal omarchy-install-gaming-geforce-now ;; + *"Xbox Cloud"*) present_terminal omarchy-install-gaming-xbox-cloud ;; *Xbox*) present_terminal omarchy-install-gaming-xbox-controllers ;; *) show_install_menu ;; esac @@ -482,12 +483,13 @@ show_remove_menu() { } show_remove_gaming_menu() { - case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n󰖺 Xbox Controller") in + case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller") in *Steam*) present_terminal omarchy-remove-gaming-steam ;; *RetroArch*) present_terminal omarchy-remove-gaming-retroarch ;; *Minecraft*) present_terminal omarchy-remove-gaming-minecraft ;; *Battle.net*) present_terminal omarchy-remove-gaming-battlenet ;; *GeForce*) present_terminal omarchy-remove-gaming-geforce-now ;; + *"Xbox Cloud"*) present_terminal omarchy-remove-gaming-xbox-cloud ;; *Xbox*) present_terminal omarchy-remove-gaming-xbox-controllers ;; *) show_remove_menu ;; esac diff --git a/bin/omarchy-remove-gaming-xbox-cloud b/bin/omarchy-remove-gaming-xbox-cloud new file mode 100755 index 00000000..7a42d357 --- /dev/null +++ b/bin/omarchy-remove-gaming-xbox-cloud @@ -0,0 +1,7 @@ +#!/bin/bash + +# omarchy:summary=Remove the Xbox Cloud Gaming web app. + +set -e + +omarchy-webapp-remove "Xbox Cloud Gaming" From 5653d9a094e7a66ffe06dc8b67296771a65fdc89 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 10:29:58 +0200 Subject: [PATCH 09/11] Better description --- bin/omarchy-install-gaming-xbox-controllers | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/omarchy-install-gaming-xbox-controllers b/bin/omarchy-install-gaming-xbox-controllers index a6fa654b..9e1ecb73 100755 --- a/bin/omarchy-install-gaming-xbox-controllers +++ b/bin/omarchy-install-gaming-xbox-controllers @@ -32,4 +32,4 @@ fi sudo modprobe hid_xpadneo echo "" -echo "Xbox controller Bluetooth support is active. Pair it with Bluetooth using Super + Ctrl + B." +echo "Now you can pair your Xbox controller with Bluetooth using Super + Ctrl + B." From 1a57257fbfbfc5606c012c1bea49593b6b3a0fdb Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 10:31:06 +0200 Subject: [PATCH 10/11] Add heroic and just go with lutris --- bin/omarchy-install-gaming-heroic-launcher | 11 +++++++++++ ...-battlenet => omarchy-install-gaming-lutris} | 5 ++--- bin/omarchy-menu | 8 ++++---- bin/omarchy-remove-gaming-heroic-launcher | 17 +++++++++++++++++ ...g-battlenet => omarchy-remove-gaming-lutris} | 6 ++---- 5 files changed, 36 insertions(+), 11 deletions(-) create mode 100755 bin/omarchy-install-gaming-heroic-launcher rename bin/{omarchy-install-gaming-battlenet => omarchy-install-gaming-lutris} (70%) create mode 100755 bin/omarchy-remove-gaming-heroic-launcher rename bin/{omarchy-remove-gaming-battlenet => omarchy-remove-gaming-lutris} (60%) diff --git a/bin/omarchy-install-gaming-heroic-launcher b/bin/omarchy-install-gaming-heroic-launcher new file mode 100755 index 00000000..34d2fbb6 --- /dev/null +++ b/bin/omarchy-install-gaming-heroic-launcher @@ -0,0 +1,11 @@ +#!/bin/bash + +# omarchy:summary=Install Heroic Games Launcher (Epic, GOG, Amazon Prime Gaming) with graphics drivers. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-add heroic-games-launcher-bin +omarchy-install-gaming-gpu-lib32 + +setsid gtk-launch heroic >/dev/null 2>&1 & diff --git a/bin/omarchy-install-gaming-battlenet b/bin/omarchy-install-gaming-lutris similarity index 70% rename from bin/omarchy-install-gaming-battlenet rename to bin/omarchy-install-gaming-lutris index 7cc30f80..45bb8695 100755 --- a/bin/omarchy-install-gaming-battlenet +++ b/bin/omarchy-install-gaming-lutris @@ -1,6 +1,6 @@ #!/bin/bash -# omarchy:summary=Install Battle.net via Lutris (Wine + DXVK handled by the Lutris install recipe) +# omarchy:summary=Install Lutris with Wine + DXVK for running Windows games (Battle.net, EA, Ubisoft Connect, etc.) # omarchy:requires-sudo=true set -e @@ -15,8 +15,7 @@ sudo sed -i '/env python3/ c\#!/bin/python3' /usr/bin/lutris cat <<'EOF' Lutris will open and auto-fetch its DXVK and VKD3D runtimes in the background -(watch the bottom status bar). Once that finishes, click the +, search for "Battle.net" in -the games list and click Install. +(watch the bottom status bar). Once that finishes, click the + to add or install games. EOF diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 205b290e..9ee4d860 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -386,11 +386,11 @@ show_install_ai_menu() { } show_install_gaming_menu() { - case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller (󰂯)") in + case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Lutris (Battle.net, etc.)\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller (󰂯)") in *Steam*) present_terminal omarchy-install-gaming-steam ;; *RetroArch*) present_terminal omarchy-install-gaming-retroarch ;; *Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;; - *Battle.net*) present_terminal omarchy-install-gaming-battlenet ;; + *Lutris*) present_terminal omarchy-install-gaming-lutris ;; *GeForce*) present_terminal omarchy-install-gaming-geforce-now ;; *"Xbox Cloud"*) present_terminal omarchy-install-gaming-xbox-cloud ;; *Xbox*) present_terminal omarchy-install-gaming-xbox-controllers ;; @@ -483,11 +483,11 @@ show_remove_menu() { } show_remove_gaming_menu() { - case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n Battle.net\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller") in + case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n Lutris\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller") in *Steam*) present_terminal omarchy-remove-gaming-steam ;; *RetroArch*) present_terminal omarchy-remove-gaming-retroarch ;; *Minecraft*) present_terminal omarchy-remove-gaming-minecraft ;; - *Battle.net*) present_terminal omarchy-remove-gaming-battlenet ;; + *Lutris*) present_terminal omarchy-remove-gaming-lutris ;; *GeForce*) present_terminal omarchy-remove-gaming-geforce-now ;; *"Xbox Cloud"*) present_terminal omarchy-remove-gaming-xbox-cloud ;; *Xbox*) present_terminal omarchy-remove-gaming-xbox-controllers ;; diff --git a/bin/omarchy-remove-gaming-heroic-launcher b/bin/omarchy-remove-gaming-heroic-launcher new file mode 100755 index 00000000..7247c247 --- /dev/null +++ b/bin/omarchy-remove-gaming-heroic-launcher @@ -0,0 +1,17 @@ +#!/bin/bash + +# omarchy:summary=Remove Heroic Games Launcher and its game libraries, configs, and caches. +# omarchy:requires-sudo=true + +set -e + +omarchy-pkg-drop heroic-games-launcher-bin + +rm -rf \ + "$HOME/.config/heroic" \ + "$HOME/.local/share/heroic" \ + "$HOME/.cache/heroic" \ + "$HOME/Games/Heroic" + +echo "" +echo "Heroic and its data have been removed." diff --git a/bin/omarchy-remove-gaming-battlenet b/bin/omarchy-remove-gaming-lutris similarity index 60% rename from bin/omarchy-remove-gaming-battlenet rename to bin/omarchy-remove-gaming-lutris index b113c0c0..18253890 100755 --- a/bin/omarchy-remove-gaming-battlenet +++ b/bin/omarchy-remove-gaming-lutris @@ -1,6 +1,6 @@ #!/bin/bash -# omarchy:summary=Remove Battle.net along with Lutris, Wine, umu-launcher, and all their configs and caches. +# omarchy:summary=Remove Lutris, Wine, umu-launcher, and all their configs and caches. # omarchy:requires-sudo=true set -e @@ -8,8 +8,6 @@ set -e omarchy-pkg-drop lutris wine-staging wine-mono wine-gecko winetricks python-protobuf umu-launcher rm -rf \ - "$HOME/Games/battlenet" \ - "$HOME/Games/battle-net" \ "$HOME/.config/lutris" \ "$HOME/.local/share/lutris" \ "$HOME/.cache/lutris" \ @@ -20,4 +18,4 @@ rm -rf \ "$HOME/.cache/winetricks" echo "" -echo "Battle.net, Lutris, Wine, umu-launcher, and their configs have been removed." +echo "Lutris, Wine, umu-launcher, and their configs have been removed." From 41076288a5cab401432a6c235169ffd23c274e95 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 4 May 2026 10:35:42 +0200 Subject: [PATCH 11/11] Rewire menu --- bin/omarchy-menu | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 9ee4d860..8b3153b0 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -386,14 +386,15 @@ show_install_ai_menu() { } show_install_gaming_menu() { - case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n Lutris (Battle.net, etc.)\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller (󰂯)") in + case $(menu "Install" " Steam\n RetroArch\n󰍳 Minecraft\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller (󰂯)\n Lutris (Battle.net)\n󱓟 Heroic (Epic Games)") in *Steam*) present_terminal omarchy-install-gaming-steam ;; *RetroArch*) present_terminal omarchy-install-gaming-retroarch ;; *Minecraft*) install_and_launch "Minecraft" "minecraft-launcher" "minecraft-launcher" ;; - *Lutris*) present_terminal omarchy-install-gaming-lutris ;; *GeForce*) present_terminal omarchy-install-gaming-geforce-now ;; *"Xbox Cloud"*) present_terminal omarchy-install-gaming-xbox-cloud ;; *Xbox*) present_terminal omarchy-install-gaming-xbox-controllers ;; + *Lutris*) present_terminal omarchy-install-gaming-lutris ;; + *Heroic*) present_terminal omarchy-install-gaming-heroic ;; *) show_install_menu ;; esac } @@ -483,14 +484,15 @@ show_remove_menu() { } show_remove_gaming_menu() { - case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n Lutris\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller") in + case $(menu "Remove" " Steam\n RetroArch\n󰍳 Minecraft\n󰢹 NVIDIA GeForce NOW\n Xbox Cloud Gaming\n󰖺 Xbox Controller (󰂯)\n Lutris (Battle.net)\n󱓟 Heroic (Epic Games)") in *Steam*) present_terminal omarchy-remove-gaming-steam ;; *RetroArch*) present_terminal omarchy-remove-gaming-retroarch ;; *Minecraft*) present_terminal omarchy-remove-gaming-minecraft ;; - *Lutris*) present_terminal omarchy-remove-gaming-lutris ;; *GeForce*) present_terminal omarchy-remove-gaming-geforce-now ;; *"Xbox Cloud"*) present_terminal omarchy-remove-gaming-xbox-cloud ;; *Xbox*) present_terminal omarchy-remove-gaming-xbox-controllers ;; + *Lutris*) present_terminal omarchy-remove-gaming-lutris ;; + *Heroic*) present_terminal omarchy-remove-gaming-heroic ;; *) show_remove_menu ;; esac }