Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions guest/native-overlay/usr/local/bin/omarchy-arch-aarch64
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

# omarchy:summary=Returns true when the guest architecture is aarch64
# omarchy:hidden=true

[[ $(uname -m) == aarch64 ]]
11 changes: 11 additions & 0 deletions guest/native-overlay/usr/local/bin/omarchy-install-has-hidden
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

# omarchy:summary=True when the user has hidden any aarch64-unavailable Install items
# omarchy:hidden=true

/usr/local/bin/omarchy-arch-aarch64 || exit 1

state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/try-omarchy"
[[ -f $state_dir/hide-all-aarch64-unavailable && ! -L $state_dir/hide-all-aarch64-unavailable ]] && exit 0
[[ -f $state_dir/hidden-install-packages && ! -L $state_dir/hidden-install-packages ]] || exit 1
grep -q '[^[:space:]]' "$state_dir/hidden-install-packages"
19 changes: 19 additions & 0 deletions guest/native-overlay/usr/local/bin/omarchy-install-hide
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

# omarchy:summary=Hide one Install-menu id from future aarch64 Install menus
# omarchy:args=<install-id>
# omarchy:hidden=true

id=${1-}
if [[ -z $id ]]; then
echo "Usage: omarchy-install-hide <install-id>" >&2
exit 2
fi

state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/try-omarchy"
mkdir -p "$state_dir"
hidden_list="$state_dir/hidden-install-packages"
touch "$hidden_list"
if ! grep -qxF -- "$id" "$hidden_list"; then
printf '%s\n' "$id" >>"$hidden_list"
fi
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

# omarchy:summary=Hide all known aarch64-unavailable Install-menu apps
# omarchy:hidden=true

state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/try-omarchy"
mkdir -p "$state_dir"
: >"$state_dir/hide-all-aarch64-unavailable"
28 changes: 28 additions & 0 deletions guest/native-overlay/usr/local/bin/omarchy-install-menu-visible
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

# omarchy:summary=True when an Install-menu id should stay visible on this guest
# omarchy:args=<install-id>
# omarchy:hidden=true

id=${1-}
[[ -n $id ]] || exit 0

# Non-aarch64 guests never hide via this helper.
/usr/local/bin/omarchy-arch-aarch64 || exit 0

state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/try-omarchy"
hidden_list="$state_dir/hidden-install-packages"
hide_all="$state_dir/hide-all-aarch64-unavailable"
known=/usr/local/share/try-omarchy/aarch64-unavailable-install-ids

if [[ -f $hide_all && ! -L $hide_all ]]; then
if [[ -f $known && ! -L $known ]] && grep -qxF -- "$id" "$known"; then
exit 1
fi
fi

if [[ -f $hidden_list && ! -L $hidden_list ]] && grep -qxF -- "$id" "$hidden_list"; then
exit 1
fi

exit 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

# omarchy:summary=Restore Install-menu apps previously hidden on aarch64
# omarchy:examples=omarchy-install-restore-hidden

state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/try-omarchy"
rm -f "$state_dir/hide-all-aarch64-unavailable" "$state_dir/hidden-install-packages"
echo "Restored previously hidden Install menu apps."
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

# omarchy:summary=Refuse known aarch64-unavailable packages with the shared message
# omarchy:args=<packages...>
# omarchy:hidden=true

[[ $(uname -m) == aarch64 ]] || exit 0

map=/usr/local/share/try-omarchy/aarch64-unavailable-packages
[[ -f $map && ! -L $map ]] || exit 0

for package in "$@"; do
[[ -n $package ]] || continue
name=$(awk -F '\t' -v package="$package" '$1 == package { print $2; exit }' "$map")
if [[ -n $name ]]; then
exec /usr/local/bin/omarchy-pkg-unavailable-arm "$name" "$package"
fi
done

exit 0
51 changes: 51 additions & 0 deletions guest/native-overlay/usr/local/bin/omarchy-pkg-unavailable-arm
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash

# omarchy:summary=Report that a named app is unavailable on aarch64 and optionally hide it
# omarchy:args=<display-name> [install-id]
# omarchy:examples=omarchy-pkg-unavailable-arm Ghostty ghostty
# omarchy:hidden=true

name=${1-}
install_id=${2-}
if [[ -z $name ]]; then
echo "Usage: omarchy-pkg-unavailable-arm <display-name> [install-id]" >&2
exit 2
fi

echo "The ${name} app is not available via pacman/AUR for aarch64 at this time."

# Offer hide prompts only in an interactive Install terminal on aarch64.
if [[ -t 0 && -t 1 ]] && /usr/local/bin/omarchy-arch-aarch64; then
if [[ -z $install_id ]]; then
map=/usr/local/share/try-omarchy/aarch64-unavailable-packages
if [[ -f $map && ! -L $map ]]; then
install_id=$(awk -F '\t' -v name="$name" '$2 == name { print $1; exit }' "$map")
fi
fi

if [[ -n $install_id ]]; then
state_dir="${XDG_STATE_HOME:-$HOME/.local/state}/try-omarchy"
hide_all="$state_dir/hide-all-aarch64-unavailable"

if [[ ! -f $hide_all ]]; then
read -r -p "Hide ${name} from the Install menu? [y/N] " reply || reply=
case ${reply,,} in
y|yes)
/usr/local/bin/omarchy-install-hide "$install_id"
echo "Hid ${name} from the Install menu."

read -r -p "Hide all known unavailable Install apps too? [y/N] " reply_all || reply_all=
case ${reply_all,,} in
y|yes)
/usr/local/bin/omarchy-install-hide-all-unavailable
echo "Hid all known unavailable Install apps."
;;
esac
;;
esac
fi
fi
fi

# 130 skips omarchy-show-done in the floating Install terminal (same as Ctrl-C).
exit 130
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Install-menu ids that can be hidden on Try Omarchy aarch64.
# These match omarchy-install-menu-visible arguments (usually package names).
ghostty
microsoft-edge-stable-bin
spotify
dropbox
cursor-bin
grok-bot
lmstudio-bin
steam
minecraft-launcher
heroic-games-launcher-bin
geforce-now
battlenet
lutris
retroarch
sublime-text-4
visual-studio-code-bin
zed
nordvpn-bin
once-bin
openai-codex-desktop
xpadneo-dkms
bitwarden
ollama
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Packages that Install-menu paths cannot satisfy on Try Omarchy aarch64.
# Format: package<TAB>display-name
# Includes x86_64-only AUR/binaries, and packages the Install path asks pacman for
# that are absent from this guest's repos (often AUR / omarchy x86 channel only).
# Wine/umu are NOT listed here: they are refused only from Battle.net / Lutris
# installers so aarch64 pkg-add of those deps elsewhere is not blocked.
ghostty Ghostty
microsoft-edge-stable-bin Edge
spotify Spotify
dropbox Dropbox
dropbox-cli Dropbox
nautilus-dropbox Dropbox
cursor-bin Cursor
grok-bot Grok Bot
lmstudio-bin LM Studio
steam Steam
minecraft-launcher Minecraft
heroic-games-launcher-bin Heroic
sublime-text-4 Sublime Text
visual-studio-code-bin VSCode
zed Zed
omazed Zed
nordvpn-bin NordVPN
once-bin ONCE
openai-codex-desktop ChatGPT Desktop
xpadneo-dkms Xbox Controllers
bitwarden Bitwarden
ollama Ollama
ollama-cuda Ollama
ollama-rocm Ollama
Loading
Loading