Compare commits

..

8 Commits

Author SHA1 Message Date
Ryan Hughes
8997907c04 Correct message 2026-01-05 15:15:56 -05:00
Ryan Hughes
ed462b223e Simplify 2026-01-05 15:10:13 -05:00
Ryan Hughes
9e3bb43c2f Merge branch 'master' into master 2026-01-05 14:55:55 -05:00
Ryan Hughes
ef4ecdbfcf Add --no-edit option 2026-01-03 23:45:19 -05:00
David Heinemeier Hansson
7bf1c38937 Add extensions/menu.sh example 2026-01-03 18:28:46 -08:00
David Heinemeier Hansson
4a07b94cb6 Use theme config templates with singular color definition (#4053)
* Attempt to templaterize the theme specific files

* Cleanup

* Slim down

* Combine render into -set

* Pull out the dynamic template rendering again, but simpler

* Fix vars

* Variables are lowercase

* Better presentation

* Fix missing colors

* Provide stripped values too

* Fix colors for regular hex format

* Bring back explicit btop themes

They're too involved to derive from a basic color set

* Make an atomic swap of the theme directories

* No longer used by walker to cancel

* Explain why

* Remove redundant const

* Consistent const naming

* No longe have $THEMES_DIR

* Correct the blue

* Set opencode colors too

* Fix colors for readability

* Move the templates together with the others in default

* Split user themes and default themes

* Fix paths

* Look for both user themes and default themes

Plus speed things up

* Migrate to the new setup where default themes live inside omarchy

* Explicitly store the name of the current theme

* Cleanup

* No longer need omarchy-theme-next since themes are now fully rendered, not symlinks

* Get current theme name from the new theme.name file

* Look for user background images in dedicated directory

* Need yq for toml

* Need yq to parse colors.toml

* Look for backgrounds matching the new theme.name

We no longer have symlinks

* Migrate existing user backgrounds to the new proper location

* Install user backgrounds in the correct path

* Fix quoting

* Just rely on the system theme for opencode and get ready for USRSIG2 being available to live reload

* Fix template generation for rgb colors
2026-01-03 18:22:14 -08:00
3x3cut0r
a7d76bfc24 Merge pull request #1 from 3x3cut0r/codex/refactor-omarchy-windows-vm-rdp-initialization
Improve Windows VM launch to verify RDP readiness
2025-10-23 23:20:05 +02:00
3x3cut0r
f5d0c16f85 Improve RDP readiness check before launching VM 2025-10-23 22:50:10 +02:00
3 changed files with 54 additions and 25 deletions

View File

@@ -3,4 +3,9 @@
cd ~/.local/share/omarchy
migration_file="$HOME/.local/share/omarchy/migrations/$(git log -1 --format=%cd --date=unix).sh"
touch $migration_file
nvim $migration_file
if [[ "$1" != "--no-edit" ]]; then
nvim $migration_file
fi
echo $migration_file

View File

@@ -254,6 +254,25 @@ remove_windows() {
echo "Windows VM removal completed!"
}
wait_for_rdp_ready() {
local WIN_USER="$1"
local WIN_PASS="$2"
local TIMEOUT=240
local SECONDS=0
echo "Waiting for Windows VM to be ready..."
while ! timeout 5s xfreerdp3 /auth-only /cert:ignore /u:"$WIN_USER" /p:"$WIN_PASS" /v:127.0.0.1:3389 &>/dev/null; do
sleep 2
if [ $SECONDS -gt $TIMEOUT ]; then
echo "❌ Timeout waiting for RDP!"
echo " The VM might still be installing Windows."
echo " Check progress at: http://127.0.0.1:8006"
return 1
fi
done
}
launch_windows() {
KEEP_ALIVE=false
if [ "$1" = "--keep-alive" ] || [ "$1" = "-k" ]; then
@@ -266,6 +285,14 @@ launch_windows() {
exit 1
fi
# Extract credentials from compose file
WIN_USER=$(grep "USERNAME:" "$COMPOSE_FILE" | sed 's/.*USERNAME: "\(.*\)"/\1/')
WIN_PASS=$(grep "PASSWORD:" "$COMPOSE_FILE" | sed 's/.*PASSWORD: "\(.*\)"/\1/')
# Use defaults if not found
[ -z "$WIN_USER" ] && WIN_USER="docker"
[ -z "$WIN_PASS" ] && WIN_PASS="admin"
# Check if container is already running
CONTAINER_STATUS=$(docker inspect --format='{{.State.Status}}' omarchy-windows 2>/dev/null)
@@ -282,32 +309,12 @@ launch_windows() {
notify-send -u critical "Windows VM" "Failed to start Windows VM"
exit 1
fi
# Wait for RDP to be ready
echo "Waiting for Windows VM to be ready..."
WAIT_COUNT=0
while ! nc -z 127.0.0.1 3389 2>/dev/null; do
sleep 2
WAIT_COUNT=$((WAIT_COUNT + 1))
if [ $WAIT_COUNT -gt 60 ]; then # 2 minutes timeout
echo "❌ Timeout waiting for RDP!"
echo " The VM might still be installing Windows."
echo " Check progress at: http://127.0.0.1:8006"
exit 1
fi
done
# Give it a moment more to fully initialize
sleep 5
fi
# Extract credentials from compose file
WIN_USER=$(grep "USERNAME:" "$COMPOSE_FILE" | sed 's/.*USERNAME: "\(.*\)"/\1/')
WIN_PASS=$(grep "PASSWORD:" "$COMPOSE_FILE" | sed 's/.*PASSWORD: "\(.*\)"/\1/')
# Use defaults if not found
[ -z "$WIN_USER" ] && WIN_USER="docker"
[ -z "$WIN_PASS" ] && WIN_PASS="admin"
if ! wait_for_rdp_ready "$WIN_USER" "$WIN_PASS"; then
notify-send -u critical "Windows VM" "Did not come alive in time."
exit 1
fi
# Build the connection info
if [ "$KEEP_ALIVE" = true ]; then

View File

@@ -0,0 +1,17 @@
# Overwrite parts of the omarchy-menu with user-specific submenus.
# See $OMARCHY_PATH/bin/omarchy-menu for functions that can be overwritten.
#
# WARNING: Overwritten functions will obviously not be updated when Omarchy changes.
#
# Example adding suspend to the system menu:
#
# show_system_menu() {
# case $(menu "System" " Lock\n󱄄 Screensaver\n󰒲 Suspend\n󰜉 Restart\n󰐥 Shutdown") in
# *Lock*) omarchy-lock-screen ;;
# *Screensaver*) omarchy-launch-screensaver force ;;
# *Suspend*) systemctl suspend ;;
# *Restart*) omarchy-cmd-reboot ;;
# *Shutdown*) omarchy-cmd-shutdown ;;
# *) back_to show_main_menu ;;
# esac
# }