diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-01 15:39:51 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-01 15:39:51 -0600 |
| commit | bd1551bbb8883da692645b26b1577c4f45e38689 (patch) | |
| tree | ae372acb0d2755d110757ff346e0d881ebb1bd8d /scripts | |
| parent | a36b8dd29be6fcf5ad5c8a72882203da3548f288 (diff) | |
feat(hyprland): install plugins on first login via setup script
hyprpm requires running Hyprland to determine version for plugin
compilation. Move plugin installation from archsetup to a first-login
script (hyprland-plugins-setup) that runs via exec-once. Script checks
if plugins are already installed and skips if so. Update validation to
check for setup script presence instead of enabled plugins.
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/testing/lib/validation.sh | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/scripts/testing/lib/validation.sh b/scripts/testing/lib/validation.sh index 16b4122..de23809 100644 --- a/scripts/testing/lib/validation.sh +++ b/scripts/testing/lib/validation.sh @@ -535,29 +535,24 @@ validate_portal_dark_mode() { } validate_hyprland_plugins() { - step "Checking Hyprland plugins installed" - - # Check if hyprpm has repositories configured - local repos=$(ssh_cmd "sudo -u cjennings hyprpm list 2>/dev/null | grep -c 'Repository' || echo 0") - if [ "$repos" -lt 2 ]; then - validation_fail "Hyprland plugin repositories not configured (found $repos, expected 2)" - attribute_issue "hyprpm repositories not configured" "archsetup" + step "Checking Hyprland plugins setup script" + + # Plugins are installed on first login via hyprland-plugins-setup script + # (hyprpm requires running Hyprland to determine version for compilation) + # Validate that the setup script exists and is executable + local setup_script="/home/cjennings/.local/bin/hyprland-plugins-setup" + if ! ssh_cmd "test -x $setup_script"; then + validation_fail "Hyprland plugins setup script not found or not executable" + attribute_issue "hyprland-plugins-setup script missing" "archsetup" return 1 fi - # Check for expected enabled plugins - local missing="" - for plugin in hyprscrolling xtra-dispatchers hy3; do - if ! ssh_cmd "sudo -u cjennings hyprpm list 2>/dev/null | grep -A1 'Plugin $plugin' | grep -q 'enabled: true'"; then - missing="$missing $plugin" - fi - done - - if [ -z "$missing" ]; then - validation_pass "All Hyprland plugins enabled (hyprscrolling, xtra-dispatchers, hy3)" + # Check that hyprland.conf calls the setup script + if ssh_cmd "grep -q 'hyprland-plugins-setup' /home/cjennings/.config/hypr/hyprland.conf"; then + validation_pass "Hyprland plugins setup configured (installs on first login)" else - validation_fail "Hyprland plugins not enabled:$missing" - attribute_issue "Hyprland plugins not enabled:$missing" "archsetup" + validation_fail "hyprland.conf doesn't call hyprland-plugins-setup" + attribute_issue "hyprland-plugins-setup not in hyprland.conf" "archsetup" fi } |
