diff --git a/core/system/scripts/nomarchy-battery-capacity b/core/system/scripts/nomarchy-battery-capacity index 341daed..eb73f3c 100755 --- a/core/system/scripts/nomarchy-battery-capacity +++ b/core/system/scripts/nomarchy-battery-capacity @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns the battery full capacity in Wh (rounded to whole number). # Used by nomarchy-battery-status for displaying battery capacity. diff --git a/core/system/scripts/nomarchy-battery-monitor b/core/system/scripts/nomarchy-battery-monitor index a6907ba..8a45cf5 100755 --- a/core/system/scripts/nomarchy-battery-monitor +++ b/core/system/scripts/nomarchy-battery-monitor @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Designed to be run by systemd timer every 30 seconds and alerts if battery is low diff --git a/core/system/scripts/nomarchy-battery-present b/core/system/scripts/nomarchy-battery-present index 2b052a7..fd8443f 100755 --- a/core/system/scripts/nomarchy-battery-present +++ b/core/system/scripts/nomarchy-battery-present @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns true if a battery is present on the system. # Used by the battery monitor and other battery-related checks. diff --git a/core/system/scripts/nomarchy-battery-remaining b/core/system/scripts/nomarchy-battery-remaining index 26ea718..094b458 100755 --- a/core/system/scripts/nomarchy-battery-remaining +++ b/core/system/scripts/nomarchy-battery-remaining @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns the battery percentage remaining as an integer. # Used by the battery monitor and the Ctrl + Shift + Super + B hotkey. diff --git a/core/system/scripts/nomarchy-battery-remaining-time b/core/system/scripts/nomarchy-battery-remaining-time index 906d2ab..62a2f80 100755 --- a/core/system/scripts/nomarchy-battery-remaining-time +++ b/core/system/scripts/nomarchy-battery-remaining-time @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns the battery time remaining (to empty or full) in a compact format. diff --git a/core/system/scripts/nomarchy-battery-status b/core/system/scripts/nomarchy-battery-status index 3674bd3..8465e4d 100755 --- a/core/system/scripts/nomarchy-battery-status +++ b/core/system/scripts/nomarchy-battery-status @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns a formatted battery status string with percentage and power draw/charge. # Used by the battery notification hotkey (Ctrl + Shift + Super + B). diff --git a/core/system/scripts/nomarchy-brightness-display b/core/system/scripts/nomarchy-brightness-display index 1d04bfd..ebe05e6 100755 --- a/core/system/scripts/nomarchy-brightness-display +++ b/core/system/scripts/nomarchy-brightness-display @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Adjust brightness on the most likely display device. # Usage: nomarchy-brightness-display diff --git a/core/system/scripts/nomarchy-brightness-display-apple b/core/system/scripts/nomarchy-brightness-display-apple index f3a937d..bee7a67 100755 --- a/core/system/scripts/nomarchy-brightness-display-apple +++ b/core/system/scripts/nomarchy-brightness-display-apple @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Adjust the brightness on Apple Studio Displays and Apple XDR Displays using asdcontrol. diff --git a/core/system/scripts/nomarchy-brightness-keyboard b/core/system/scripts/nomarchy-brightness-keyboard index ded5590..7bc56ea 100755 --- a/core/system/scripts/nomarchy-brightness-keyboard +++ b/core/system/scripts/nomarchy-brightness-keyboard @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Adjust keyboard backlight brightness using available steps. # Usage: nomarchy-brightness-keyboard diff --git a/core/system/scripts/nomarchy-hibernation-available b/core/system/scripts/nomarchy-hibernation-available index 02740a5..e5afade 100755 --- a/core/system/scripts/nomarchy-hibernation-available +++ b/core/system/scripts/nomarchy-hibernation-available @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Check if hibernation is supported if [[ ! -f /sys/power/image_size ]]; then diff --git a/core/system/scripts/nomarchy-hibernation-remove b/core/system/scripts/nomarchy-hibernation-remove index 3cb5127..95e5838 100755 --- a/core/system/scripts/nomarchy-hibernation-remove +++ b/core/system/scripts/nomarchy-hibernation-remove @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Removes hibernation setup: disables swap, removes swapfile, removes fstab entry, # removes resume hook, and removes suspend-then-hibernate configuration. diff --git a/core/system/scripts/nomarchy-hibernation-setup b/core/system/scripts/nomarchy-hibernation-setup index a810703..325ccdc 100755 --- a/core/system/scripts/nomarchy-hibernation-setup +++ b/core/system/scripts/nomarchy-hibernation-setup @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Creates a swap file in the btrfs subvolume, adds the swap file to /etc/fstab, # adds a resume hook to mkinitcpio, and configures suspend-then-hibernate. diff --git a/core/system/scripts/nomarchy-hw-asus-rog b/core/system/scripts/nomarchy-hw-asus-rog index 6897d73..11ab5e6 100755 --- a/core/system/scripts/nomarchy-hw-asus-rog +++ b/core/system/scripts/nomarchy-hw-asus-rog @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Detect whether the computer is an Asus ROG machine. diff --git a/core/system/scripts/nomarchy-hw-match b/core/system/scripts/nomarchy-hw-match index 9ba6466..8262bbd 100755 --- a/core/system/scripts/nomarchy-hw-match +++ b/core/system/scripts/nomarchy-hw-match @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Match against the computer's DMI product name (case-insensitive). # Usage: nomarchy-hw-match "XPS" diff --git a/core/system/scripts/nomarchy-hw-vulkan b/core/system/scripts/nomarchy-hw-vulkan index 8d473a2..a3783c9 100755 --- a/core/system/scripts/nomarchy-hw-vulkan +++ b/core/system/scripts/nomarchy-hw-vulkan @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Detect whether Vulkan is available. diff --git a/core/system/scripts/nomarchy-pkg-add b/core/system/scripts/nomarchy-pkg-add index 7c3014c..b58ab91 100755 --- a/core/system/scripts/nomarchy-pkg-add +++ b/core/system/scripts/nomarchy-pkg-add @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e PKG_NAME="$1" diff --git a/core/system/scripts/nomarchy-pkg-remove b/core/system/scripts/nomarchy-pkg-remove index b5fde39..7ccfad6 100755 --- a/core/system/scripts/nomarchy-pkg-remove +++ b/core/system/scripts/nomarchy-pkg-remove @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e PKG_NAME="$1" diff --git a/core/system/scripts/nomarchy-powerprofiles-list b/core/system/scripts/nomarchy-powerprofiles-list index 27083c3..8515820 100755 --- a/core/system/scripts/nomarchy-powerprofiles-list +++ b/core/system/scripts/nomarchy-powerprofiles-list @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns a list of all the available power profiles on the system. # Used by the Nomarchy Menu under Setup > Power Profile. diff --git a/core/system/scripts/nomarchy-preflight-migration b/core/system/scripts/nomarchy-preflight-migration index f27a5ce..887a8c3 100644 --- a/core/system/scripts/nomarchy-preflight-migration +++ b/core/system/scripts/nomarchy-preflight-migration @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Pre-flight State Migration # Migrates legacy state files into the unified state.json before Nix evaluation diff --git a/core/system/scripts/nomarchy-restart-bluetooth b/core/system/scripts/nomarchy-restart-bluetooth index 57530d1..44c33f0 100755 --- a/core/system/scripts/nomarchy-restart-bluetooth +++ b/core/system/scripts/nomarchy-restart-bluetooth @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Unblock and restart the bluetooth service. diff --git a/core/system/scripts/nomarchy-restart-pipewire b/core/system/scripts/nomarchy-restart-pipewire index a222ad1..756baeb 100755 --- a/core/system/scripts/nomarchy-restart-pipewire +++ b/core/system/scripts/nomarchy-restart-pipewire @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Restart the PipeWire audio service to fix audio issues or apply new configuration. diff --git a/core/system/scripts/nomarchy-restart-trackpad b/core/system/scripts/nomarchy-restart-trackpad index 80bdfcf..6642f7e 100755 --- a/core/system/scripts/nomarchy-restart-trackpad +++ b/core/system/scripts/nomarchy-restart-trackpad @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reload the intel_quicki2c driver to fix a dead trackpad. # The THC (Touch Host Controller) can fail to initialize interrupts diff --git a/core/system/scripts/nomarchy-restart-wifi b/core/system/scripts/nomarchy-restart-wifi index 5cf35dd..160a50d 100755 --- a/core/system/scripts/nomarchy-restart-wifi +++ b/core/system/scripts/nomarchy-restart-wifi @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Unblock and restart the Wi-Fi service. diff --git a/core/system/scripts/nomarchy-restart-xcompose b/core/system/scripts/nomarchy-restart-xcompose index 6797259..2099af3 100755 --- a/core/system/scripts/nomarchy-restart-xcompose +++ b/core/system/scripts/nomarchy-restart-xcompose @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Restart the XCompose input method service (fcitx5) to apply new compose key settings. diff --git a/core/system/scripts/nomarchy-setup-dns b/core/system/scripts/nomarchy-setup-dns index b79fd3c..01d2ecb 100755 --- a/core/system/scripts/nomarchy-setup-dns +++ b/core/system/scripts/nomarchy-setup-dns @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Configure DNS declaratively for Nomarchy NixOS. # Hybrid: updates /etc/nixos/state.json and runs sys-update. diff --git a/core/system/scripts/nomarchy-setup-fido2 b/core/system/scripts/nomarchy-setup-fido2 index 5975925..120894a 100755 --- a/core/system/scripts/nomarchy-setup-fido2 +++ b/core/system/scripts/nomarchy-setup-fido2 @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Configure FIDO2 support declaratively for Nomarchy NixOS. diff --git a/core/system/scripts/nomarchy-setup-fingerprint b/core/system/scripts/nomarchy-setup-fingerprint index 37cce43..18479f3 100755 --- a/core/system/scripts/nomarchy-setup-fingerprint +++ b/core/system/scripts/nomarchy-setup-fingerprint @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Configure fingerprint support declaratively for Nomarchy NixOS. diff --git a/core/system/scripts/nomarchy-sudo-keepalive b/core/system/scripts/nomarchy-sudo-keepalive index 3b9da33..06d3752 100755 --- a/core/system/scripts/nomarchy-sudo-keepalive +++ b/core/system/scripts/nomarchy-sudo-keepalive @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Prompt for sudo once and keep the credential alive in the background. # Source this script so the trap applies to the calling shell: diff --git a/core/system/scripts/nomarchy-sudo-passwordless-toggle b/core/system/scripts/nomarchy-sudo-passwordless-toggle index 1752453..4290933 100755 --- a/core/system/scripts/nomarchy-sudo-passwordless-toggle +++ b/core/system/scripts/nomarchy-sudo-passwordless-toggle @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Toggle passwordless sudo for the current user. # First run: enables passwordless sudo for 15 minutes (after confirmation). diff --git a/core/system/scripts/nomarchy-sudo-reset b/core/system/scripts/nomarchy-sudo-reset index 2c56846..5385567 100755 --- a/core/system/scripts/nomarchy-sudo-reset +++ b/core/system/scripts/nomarchy-sudo-reset @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reset the sudo lockout/faillock for the current user. # This clears any failed authentication attempts that may have locked the user out. diff --git a/core/system/scripts/nomarchy-swayosd-brightness b/core/system/scripts/nomarchy-swayosd-brightness index 416f3be..bf614e8 100755 --- a/core/system/scripts/nomarchy-swayosd-brightness +++ b/core/system/scripts/nomarchy-swayosd-brightness @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Display brightness level using SwayOSD on the current monitor. # Usage: nomarchy-swayosd-brightness diff --git a/core/system/scripts/nomarchy-swayosd-kbd-brightness b/core/system/scripts/nomarchy-swayosd-kbd-brightness index ccdc784..4b840b3 100755 --- a/core/system/scripts/nomarchy-swayosd-kbd-brightness +++ b/core/system/scripts/nomarchy-swayosd-kbd-brightness @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Display keyboard brightness level using SwayOSD on the current monitor. # Usage: nomarchy-swayosd-kbd-brightness diff --git a/core/system/scripts/nomarchy-system-logout b/core/system/scripts/nomarchy-system-logout index c881800..1d8d775 100755 --- a/core/system/scripts/nomarchy-system-logout +++ b/core/system/scripts/nomarchy-system-logout @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Logout command that first closes all application windows (thus giving them a chance to save state), # then stops the session, returning to the SDDM login screen. diff --git a/core/system/scripts/nomarchy-system-reboot b/core/system/scripts/nomarchy-system-reboot index 4ff7c0d..02ed9d5 100755 --- a/core/system/scripts/nomarchy-system-reboot +++ b/core/system/scripts/nomarchy-system-reboot @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reboot command that first closes all application windows (thus giving them a chance to save state). # This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly. diff --git a/core/system/scripts/nomarchy-system-shutdown b/core/system/scripts/nomarchy-system-shutdown index 6c7442a..160db44 100755 --- a/core/system/scripts/nomarchy-system-shutdown +++ b/core/system/scripts/nomarchy-system-shutdown @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Shutdown command that first closes all application windows (thus giving them a chance to save state). # This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly. diff --git a/core/system/scripts/nomarchy-toggle-hybrid-gpu b/core/system/scripts/nomarchy-toggle-hybrid-gpu index e042e73..dc69ad0 100755 --- a/core/system/scripts/nomarchy-toggle-hybrid-gpu +++ b/core/system/scripts/nomarchy-toggle-hybrid-gpu @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggle dedicated vs integrated GPU mode via supergfxd (for hybrid gpu laptops, like Asus G14). # Declarative enablement + Runtime mode switching for Nomarchy NixOS. diff --git a/core/system/scripts/nomarchy-toggle-idle b/core/system/scripts/nomarchy-toggle-idle index 064c716..72380d4 100755 --- a/core/system/scripts/nomarchy-toggle-idle +++ b/core/system/scripts/nomarchy-toggle-idle @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles the idle daemon (hypridle) between enabled and disabled. # Hybrid: updates state.json and provides instant feedback. diff --git a/core/system/scripts/nomarchy-toggle-suspend b/core/system/scripts/nomarchy-toggle-suspend index 263da5a..df9d688 100755 --- a/core/system/scripts/nomarchy-toggle-suspend +++ b/core/system/scripts/nomarchy-toggle-suspend @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles the suspend menu option availability. # Hybrid: updates state.json and runs env-update for persistence. diff --git a/core/system/scripts/nomarchy-tz-select b/core/system/scripts/nomarchy-tz-select index e59bb30..decda15 100755 --- a/core/system/scripts/nomarchy-tz-select +++ b/core/system/scripts/nomarchy-tz-select @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Select system timezone declaratively for Nomarchy NixOS. diff --git a/core/system/scripts/nomarchy-update-time b/core/system/scripts/nomarchy-update-time index 14fc8b6..8eb66ae 100755 --- a/core/system/scripts/nomarchy-update-time +++ b/core/system/scripts/nomarchy-update-time @@ -1,4 +1,5 @@ #!/bin/bash +set -e echo "Updating time..." sudo systemctl restart systemd-timesyncd diff --git a/core/system/scripts/nomarchy-wifi-powersave b/core/system/scripts/nomarchy-wifi-powersave index bf51616..a6967fb 100755 --- a/core/system/scripts/nomarchy-wifi-powersave +++ b/core/system/scripts/nomarchy-wifi-powersave @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles wifi power saving declaratively. # Usage: nomarchy-wifi-powersave diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 87b5532..a9ac0e1 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -136,6 +136,7 @@ Nomarchy is moving away from being a "flavor" of Omarchy to its own distinct ide (Move items here when they land — keep them brief, link the commit/PR.) +- _2026-04-30_ — `set -e` sweep across `nomarchy-*` scripts. Added `set -e` to 142 of 169 bash scripts that lacked it (27 already had it). Halts a class of "command failed silently in the middle of a chain, system left in half-applied state" bugs that produced repeat-fix commits. One deliberate exception: `nomarchy-menu` runs without `set -e` because it's an interactive UX loop where action failures should re-display the menu rather than abort the script. Pre-commit hook now enforces `bash -n` + `shellcheck --severity=error` so future scripts can't regress this. - _2026-04-30_ — Installer disk-phase reliability. Hardened `installer/install.sh` and consolidated the disko configs: (1) `select_disk` now hides the live-ISO boot device(s) so the installer can't format its own boot media (`NOMARCHY_INSTALL_ALLOW_ISO_TARGET=1` to override); (2) added a 10 GiB minimum-capacity preflight; (3) `prewipe_target_drive` enumerates every active dm-crypt mapping backed by the target drive and closes them, drops the silent `|| true` from `wipefs`/`sgdisk`/`dd`, bounds `udevadm settle` to 30s, and refuses to continue if anything is still mounted; (4) wrapped the disko call in `run_disko_with_retry` with last-30-lines + Retry / View full log / Abort dialog on failure; (5) replaced the sed-templated `disko-golden.nix` + `disko-btrfs-multi.nix` pair with a single `disko-config.nix` Nix function called via `--argstr mainDrive … --arg extraDrives '[…]'` — eliminates a class of escaping bugs (cf. `3aadc36`); (6) added an EXIT trap so the tmpfs LUKS key file is removed even on early abort. - _2026-04-30_ — Gaming home-side companion. New `nomarchy.gaming.enable` option (mirror of `nomarchy.system.gaming.enable`) and `core/home/gaming.nix` module that injects a Hyprland `windowrulev2 = fullscreen, class:^(steam_app_).*$` so Steam-launched games grab the whole screen. Closes the "Gaming — Hyprland window rule" Next-column row. - _2026-04-26_ — Default to highest resolution (`highres`) for monitors. Updated `features/desktop/hyprland/config/monitors.conf` and forced it in the live ISO (`nomarchy-live`) to resolve issues where some hardware would default to a low resolution (1024x768). diff --git a/features/scripts/utils/nomarchy-backup b/features/scripts/utils/nomarchy-backup index 36411a8..76e1720 100755 --- a/features/scripts/utils/nomarchy-backup +++ b/features/scripts/utils/nomarchy-backup @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Backup Script # Alias for nomarchy-sync push. diff --git a/features/scripts/utils/nomarchy-build-iso b/features/scripts/utils/nomarchy-build-iso index abb9cc9..057d19e 100755 --- a/features/scripts/utils/nomarchy-build-iso +++ b/features/scripts/utils/nomarchy-build-iso @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Build the Nomarchy Installer ISO declaratively using the flake. diff --git a/features/scripts/utils/nomarchy-build-live-iso b/features/scripts/utils/nomarchy-build-live-iso index d5266e2..2cef990 100755 --- a/features/scripts/utils/nomarchy-build-live-iso +++ b/features/scripts/utils/nomarchy-build-live-iso @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Build the Nomarchy Live ISO (Full Desktop Environment) using the flake. diff --git a/features/scripts/utils/nomarchy-cmd-audio-switch b/features/scripts/utils/nomarchy-cmd-audio-switch index 1cb5108..f964f08 100755 --- a/features/scripts/utils/nomarchy-cmd-audio-switch +++ b/features/scripts/utils/nomarchy-cmd-audio-switch @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Switch between audio outputs while preserving the mute status. By default mapped to Super + Mute. diff --git a/features/scripts/utils/nomarchy-cmd-present b/features/scripts/utils/nomarchy-cmd-present index f1e96be..0c39756 100755 --- a/features/scripts/utils/nomarchy-cmd-present +++ b/features/scripts/utils/nomarchy-cmd-present @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns true if all the commands passed in as arguments exit on the system. diff --git a/features/scripts/utils/nomarchy-cmd-screenrecord b/features/scripts/utils/nomarchy-cmd-screenrecord index f53168f..edd9faf 100755 --- a/features/scripts/utils/nomarchy-cmd-screenrecord +++ b/features/scripts/utils/nomarchy-cmd-screenrecord @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Start and stop a screenrecording, which will be saved to ~/Videos by default. # Alternative location can be set via NOMARCHY_SCREENRECORD_DIR or XDG_VIDEOS_DIR ENVs. diff --git a/features/scripts/utils/nomarchy-cmd-screensaver b/features/scripts/utils/nomarchy-cmd-screensaver index ab9d38b..033b89f 100755 --- a/features/scripts/utils/nomarchy-cmd-screensaver +++ b/features/scripts/utils/nomarchy-cmd-screensaver @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Run the Nomarchy screensaver using random effects from TTE. diff --git a/features/scripts/utils/nomarchy-cmd-screenshot b/features/scripts/utils/nomarchy-cmd-screenshot index 2252925..dc9e2bc 100755 --- a/features/scripts/utils/nomarchy-cmd-screenshot +++ b/features/scripts/utils/nomarchy-cmd-screenshot @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Take a screenshot of the whole screen, a specific window, or a user-drawn region. # Saves to ~/Pictures by default, but that can be changed via NOMARCHY_SCREENSHOT_DIR or XDG_PICTURES_DIR ENVs. diff --git a/features/scripts/utils/nomarchy-cmd-share b/features/scripts/utils/nomarchy-cmd-share index c830930..804fb65 100755 --- a/features/scripts/utils/nomarchy-cmd-share +++ b/features/scripts/utils/nomarchy-cmd-share @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Share clipboard, file, or folder using LocalSend. Bound to Super + Ctrl + S by default. diff --git a/features/scripts/utils/nomarchy-cmd-terminal-cwd b/features/scripts/utils/nomarchy-cmd-terminal-cwd index 81fb91c..cf9a6e4 100755 --- a/features/scripts/utils/nomarchy-cmd-terminal-cwd +++ b/features/scripts/utils/nomarchy-cmd-terminal-cwd @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns the current working directory of the active terminal window, # so a new terminal window can be started in the same directory. diff --git a/features/scripts/utils/nomarchy-config-direct-boot b/features/scripts/utils/nomarchy-config-direct-boot index 92c8f5c..b510aa9 100755 --- a/features/scripts/utils/nomarchy-config-direct-boot +++ b/features/scripts/utils/nomarchy-config-direct-boot @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Add an EFI boot entry for the Nomarchy UKI, allowing the system to boot directly # without a bootloader like Limine. Requires UEFI firmware and a built UKI. diff --git a/features/scripts/utils/nomarchy-docs-scripts b/features/scripts/utils/nomarchy-docs-scripts index bac721b..1edf1b3 100755 --- a/features/scripts/utils/nomarchy-docs-scripts +++ b/features/scripts/utils/nomarchy-docs-scripts @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Generator tolerates "no matches" exit codes from grep | sort. # pipefail and -e off; -u stays. set -u diff --git a/features/scripts/utils/nomarchy-drive-info b/features/scripts/utils/nomarchy-drive-info index 35c4056..ec9e2dc 100755 --- a/features/scripts/utils/nomarchy-drive-info +++ b/features/scripts/utils/nomarchy-drive-info @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns drive information about a given volumne, like /dev/nvme0, which is used by nomarchy-drive-select. diff --git a/features/scripts/utils/nomarchy-drive-select b/features/scripts/utils/nomarchy-drive-select index 20ac635..8c7d993 100755 --- a/features/scripts/utils/nomarchy-drive-select +++ b/features/scripts/utils/nomarchy-drive-select @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Select a drive from a list with info that includes space and brand. Used by nomarchy-drive-set-password. diff --git a/features/scripts/utils/nomarchy-drive-set-password b/features/scripts/utils/nomarchy-drive-set-password index 350d6a5..a55da49 100755 --- a/features/scripts/utils/nomarchy-drive-set-password +++ b/features/scripts/utils/nomarchy-drive-set-password @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Set a new encryption password for a drive selected. diff --git a/features/scripts/utils/nomarchy-font b/features/scripts/utils/nomarchy-font index 62c1aae..3080153 100755 --- a/features/scripts/utils/nomarchy-font +++ b/features/scripts/utils/nomarchy-font @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Font Helper # Usage: nomarchy-font [selector|set |list] diff --git a/features/scripts/utils/nomarchy-hyprland-active-window-transparency-toggle b/features/scripts/utils/nomarchy-hyprland-active-window-transparency-toggle index 2412548..59f492e 100755 --- a/features/scripts/utils/nomarchy-hyprland-active-window-transparency-toggle +++ b/features/scripts/utils/nomarchy-hyprland-active-window-transparency-toggle @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Toggles transparency for the currently focused window. diff --git a/features/scripts/utils/nomarchy-hyprland-monitor-scaling-cycle b/features/scripts/utils/nomarchy-hyprland-monitor-scaling-cycle index a3b2424..2089657 100755 --- a/features/scripts/utils/nomarchy-hyprland-monitor-scaling-cycle +++ b/features/scripts/utils/nomarchy-hyprland-monitor-scaling-cycle @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Get the active monitor (the one with the cursor) MONITOR_INFO=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)') diff --git a/features/scripts/utils/nomarchy-hyprland-window-close-all b/features/scripts/utils/nomarchy-hyprland-window-close-all index e53fec6..c0f7914 100755 --- a/features/scripts/utils/nomarchy-hyprland-window-close-all +++ b/features/scripts/utils/nomarchy-hyprland-window-close-all @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Close all open windows hyprctl clients -j | \ diff --git a/features/scripts/utils/nomarchy-hyprland-window-gaps-toggle b/features/scripts/utils/nomarchy-hyprland-window-gaps-toggle index e4819ff..7442505 100755 --- a/features/scripts/utils/nomarchy-hyprland-window-gaps-toggle +++ b/features/scripts/utils/nomarchy-hyprland-window-gaps-toggle @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles the window gaps globally between no gaps and the default 10/5/2, declaratively and instantly. diff --git a/features/scripts/utils/nomarchy-hyprland-window-pop b/features/scripts/utils/nomarchy-hyprland-window-pop index ef8126e..05ef745 100755 --- a/features/scripts/utils/nomarchy-hyprland-window-pop +++ b/features/scripts/utils/nomarchy-hyprland-window-pop @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Toggle to pop-out a tile to stay fixed on a display basis. diff --git a/features/scripts/utils/nomarchy-hyprland-window-single-square-aspect-toggle b/features/scripts/utils/nomarchy-hyprland-window-single-square-aspect-toggle index 50ccdac..410157d 100755 --- a/features/scripts/utils/nomarchy-hyprland-window-single-square-aspect-toggle +++ b/features/scripts/utils/nomarchy-hyprland-window-single-square-aspect-toggle @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Check current single_window_aspect_ratio setting CURRENT_VALUE=$(hyprctl getoption "layout:single_window_aspect_ratio" 2>/dev/null | head -1) diff --git a/features/scripts/utils/nomarchy-hyprland-workspace-layout-toggle b/features/scripts/utils/nomarchy-hyprland-workspace-layout-toggle index 189a469..342895e 100755 --- a/features/scripts/utils/nomarchy-hyprland-workspace-layout-toggle +++ b/features/scripts/utils/nomarchy-hyprland-workspace-layout-toggle @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Toggle the layout on the current active workspace between dwindle and scrolling diff --git a/features/scripts/utils/nomarchy-install b/features/scripts/utils/nomarchy-install index 2b4c4ff..2e95367 100755 --- a/features/scripts/utils/nomarchy-install +++ b/features/scripts/utils/nomarchy-install @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Install Script # Entry point for the Nomarchy installer. diff --git a/features/scripts/utils/nomarchy-install-docker-dbs b/features/scripts/utils/nomarchy-install-docker-dbs index fdf8c38..1e1c5dc 100755 --- a/features/scripts/utils/nomarchy-install-docker-dbs +++ b/features/scripts/utils/nomarchy-install-docker-dbs @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Docker DBs Stub # This script is a stub for a specialized tool. diff --git a/features/scripts/utils/nomarchy-launch-about b/features/scripts/utils/nomarchy-launch-about index 315906f..f2d98d5 100755 --- a/features/scripts/utils/nomarchy-launch-about +++ b/features/scripts/utils/nomarchy-launch-about @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the fastfetch TUI that gives information about the current system. diff --git a/features/scripts/utils/nomarchy-launch-audio b/features/scripts/utils/nomarchy-launch-audio index 6df6e25..700b120 100755 --- a/features/scripts/utils/nomarchy-launch-audio +++ b/features/scripts/utils/nomarchy-launch-audio @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the Nomarchy audio controls TUI (provided by wiremix). diff --git a/features/scripts/utils/nomarchy-launch-bluetooth b/features/scripts/utils/nomarchy-launch-bluetooth index cbe34b7..a8ea185 100755 --- a/features/scripts/utils/nomarchy-launch-bluetooth +++ b/features/scripts/utils/nomarchy-launch-bluetooth @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the Nomarchy bluetooth controls TUI (provided by bluetui). # Also attempts to unblock bluetooth service if rfkill had blocked it. diff --git a/features/scripts/utils/nomarchy-launch-browser b/features/scripts/utils/nomarchy-launch-browser index b4b3e28..658c1d4 100755 --- a/features/scripts/utils/nomarchy-launch-browser +++ b/features/scripts/utils/nomarchy-launch-browser @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the default browser as determined by xdg-settings. # Automatically converts --private into the correct flag for the given browser. diff --git a/features/scripts/utils/nomarchy-launch-editor b/features/scripts/utils/nomarchy-launch-editor index d12dee2..9f33743 100755 --- a/features/scripts/utils/nomarchy-launch-editor +++ b/features/scripts/utils/nomarchy-launch-editor @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the default editor as determined by $EDITOR (set via ~/.config/uwsm/default) (or nvim if missing). # Starts suitable editors in a terminal window and otherwise as a regular application. diff --git a/features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation b/features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation index ef4acf6..a2f6653 100755 --- a/features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation +++ b/features/scripts/utils/nomarchy-launch-floating-terminal-with-presentation @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch a floating terminal with the Nomarchy logo presentation, then execute the command passed in, and finally end with the nomarchy-show-done presentation. # Used by actions such as Update System. diff --git a/features/scripts/utils/nomarchy-launch-or-focus b/features/scripts/utils/nomarchy-launch-or-focus index 477e0c3..0682a35 100755 --- a/features/scripts/utils/nomarchy-launch-or-focus +++ b/features/scripts/utils/nomarchy-launch-or-focus @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch or focus on a given command identified by the passed in window-pattern. # Use by some default bindings, like the one for Spotify, to ensure there is only one instance of the application open. diff --git a/features/scripts/utils/nomarchy-launch-or-focus-tui b/features/scripts/utils/nomarchy-launch-or-focus-tui index a387124..bcc6955 100755 --- a/features/scripts/utils/nomarchy-launch-or-focus-tui +++ b/features/scripts/utils/nomarchy-launch-or-focus-tui @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch or focus on a given TUI identified by the passed in as the command. # Use by commands like nomarchy-launch-wifi to ensure there is only one wifi configuration screen open. diff --git a/features/scripts/utils/nomarchy-launch-or-focus-webapp b/features/scripts/utils/nomarchy-launch-or-focus-webapp index 809cc21..0bc1b5b 100755 --- a/features/scripts/utils/nomarchy-launch-or-focus-webapp +++ b/features/scripts/utils/nomarchy-launch-or-focus-webapp @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch or focus on a given web app identified by the window-pattern. # Use by some default bindings, like the one for WhatsApp, to ensure there is only one instance of the application open. diff --git a/features/scripts/utils/nomarchy-launch-screensaver b/features/scripts/utils/nomarchy-launch-screensaver index 5b49a99..b934e1e 100755 --- a/features/scripts/utils/nomarchy-launch-screensaver +++ b/features/scripts/utils/nomarchy-launch-screensaver @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the Nomarchy screensaver in the default terminal on the system with the correct font configuration. diff --git a/features/scripts/utils/nomarchy-launch-tui b/features/scripts/utils/nomarchy-launch-tui index 300ac68..547f2b0 100755 --- a/features/scripts/utils/nomarchy-launch-tui +++ b/features/scripts/utils/nomarchy-launch-tui @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the TUI command passed in as an argument in the default terminal with an org.nomarchy.COMMAND app id for styling. diff --git a/features/scripts/utils/nomarchy-launch-walker b/features/scripts/utils/nomarchy-launch-walker index 411bdc5..ad09f29 100644 --- a/features/scripts/utils/nomarchy-launch-walker +++ b/features/scripts/utils/nomarchy-launch-walker @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Wrapper to launch walker with elephant provider, or fallback to rofi if walker is missing. diff --git a/features/scripts/utils/nomarchy-launch-webapp b/features/scripts/utils/nomarchy-launch-webapp index 607ef6c..28a60db 100755 --- a/features/scripts/utils/nomarchy-launch-webapp +++ b/features/scripts/utils/nomarchy-launch-webapp @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the passed in URL as a web app in the default browser (or chromium if the default doesn't support --app). diff --git a/features/scripts/utils/nomarchy-launch-wifi b/features/scripts/utils/nomarchy-launch-wifi index fda2297..9aee936 100755 --- a/features/scripts/utils/nomarchy-launch-wifi +++ b/features/scripts/utils/nomarchy-launch-wifi @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Launch the Nomarchy wifi controls (provided by the Impala TUI). # Attempts to unblock the wifi service first in case it should be been blocked. diff --git a/features/scripts/utils/nomarchy-lock-screen b/features/scripts/utils/nomarchy-lock-screen index 7af7ea3..77aede2 100755 --- a/features/scripts/utils/nomarchy-lock-screen +++ b/features/scripts/utils/nomarchy-lock-screen @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Locks the system using hyprlock, but not before ensuring 1password has also been locked, and the screensaver stopped. diff --git a/features/scripts/utils/nomarchy-manual b/features/scripts/utils/nomarchy-manual index cf8d15f..3b5df98 100755 --- a/features/scripts/utils/nomarchy-manual +++ b/features/scripts/utils/nomarchy-manual @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Manual Script # Opens the Nomarchy manual in the default web browser. diff --git a/features/scripts/utils/nomarchy-menu b/features/scripts/utils/nomarchy-menu index 743903a..d7f3094 100755 --- a/features/scripts/utils/nomarchy-menu +++ b/features/scripts/utils/nomarchy-menu @@ -1,6 +1,12 @@ #!/bin/bash # Launch the Nomarchy Menu or takes a parameter to jump straight to a submenu. +# +# Deliberately runs WITHOUT `set -e`: this is an interactive UX loop, and +# action branches do `cmd; back_to ` so a failed action would abort +# the script under set -e and the menu would disappear without feedback. +# Soft-failure (the menu re-displays, the user picks again) is the right +# semantic here. export PATH="$HOME/.local/share/nomarchy/bin:$PATH" diff --git a/features/scripts/utils/nomarchy-menu-keybindings b/features/scripts/utils/nomarchy-menu-keybindings index dc9564a..360237e 100755 --- a/features/scripts/utils/nomarchy-menu-keybindings +++ b/features/scripts/utils/nomarchy-menu-keybindings @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Display Hyprland keybindings defined in your configuration using walker for an interactive search menu. diff --git a/features/scripts/utils/nomarchy-notification-dismiss b/features/scripts/utils/nomarchy-notification-dismiss index 4d2e11f..01e81da 100755 --- a/features/scripts/utils/nomarchy-notification-dismiss +++ b/features/scripts/utils/nomarchy-notification-dismiss @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Dismiss a mako notification on the basis of its summary. Used by the first-run notifications to dismiss them after clicking for action. diff --git a/features/scripts/utils/nomarchy-npx-install b/features/scripts/utils/nomarchy-npx-install index 729e9a4..77e32f3 100755 --- a/features/scripts/utils/nomarchy-npx-install +++ b/features/scripts/utils/nomarchy-npx-install @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Install an npx wrapper for a given npm package. # Usage: nomarchy-npx-install [command-name] diff --git a/features/scripts/utils/nomarchy-on-boot b/features/scripts/utils/nomarchy-on-boot index fe8138a..6a7e4b7 100755 --- a/features/scripts/utils/nomarchy-on-boot +++ b/features/scripts/utils/nomarchy-on-boot @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy on-boot initialization script. # Automatically detects the hardware, applies necessary runtime tweaks, diff --git a/features/scripts/utils/nomarchy-pkg-aur-add b/features/scripts/utils/nomarchy-pkg-aur-add index 96c6038..5f3f524 100755 --- a/features/scripts/utils/nomarchy-pkg-aur-add +++ b/features/scripts/utils/nomarchy-pkg-aur-add @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy AUR Stub # Informs the user that AUR is not applicable to NixOS. diff --git a/features/scripts/utils/nomarchy-pkg-drop b/features/scripts/utils/nomarchy-pkg-drop index a2e16ad..e900c51 100755 --- a/features/scripts/utils/nomarchy-pkg-drop +++ b/features/scripts/utils/nomarchy-pkg-drop @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Package Drop Script # Alias for nomarchy-pkg-remove. diff --git a/features/scripts/utils/nomarchy-pkg-install b/features/scripts/utils/nomarchy-pkg-install index 40dec76..6414139 100755 --- a/features/scripts/utils/nomarchy-pkg-install +++ b/features/scripts/utils/nomarchy-pkg-install @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Package Install Script # Alias for nomarchy-pkg-add for users coming from other distros. diff --git a/features/scripts/utils/nomarchy-refresh-config b/features/scripts/utils/nomarchy-refresh-config index a7c5921..af40d04 100644 --- a/features/scripts/utils/nomarchy-refresh-config +++ b/features/scripts/utils/nomarchy-refresh-config @@ -1,4 +1,5 @@ #!/bin/bash +set -e # nomarchy-refresh-config: Restore a specific configuration file to its stock version. # Usage: nomarchy-refresh-config diff --git a/features/scripts/utils/nomarchy-refresh-fastfetch b/features/scripts/utils/nomarchy-refresh-fastfetch index ac397bb..4d70d0c 100755 --- a/features/scripts/utils/nomarchy-refresh-fastfetch +++ b/features/scripts/utils/nomarchy-refresh-fastfetch @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Overwrite the user config for fastfetch with the Nomarchy default. diff --git a/features/scripts/utils/nomarchy-restart-app b/features/scripts/utils/nomarchy-restart-app index 953845a..755ec83 100755 --- a/features/scripts/utils/nomarchy-restart-app +++ b/features/scripts/utils/nomarchy-restart-app @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Restart an application by killing it and relaunching via uwsm. # Usage: nomarchy-restart-app [application-args...] diff --git a/features/scripts/utils/nomarchy-restart-btop b/features/scripts/utils/nomarchy-restart-btop index 288a800..018fa98 100755 --- a/features/scripts/utils/nomarchy-restart-btop +++ b/features/scripts/utils/nomarchy-restart-btop @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reload btop configuration (used by the Nomarchy theme switching). diff --git a/features/scripts/utils/nomarchy-restart-hyprctl b/features/scripts/utils/nomarchy-restart-hyprctl index 92c9487..2fc9504 100755 --- a/features/scripts/utils/nomarchy-restart-hyprctl +++ b/features/scripts/utils/nomarchy-restart-hyprctl @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reload hyprland configuration (used by the Nomarchy theme switching). diff --git a/features/scripts/utils/nomarchy-restart-hypridle b/features/scripts/utils/nomarchy-restart-hypridle index e970cef..d171971 100755 --- a/features/scripts/utils/nomarchy-restart-hypridle +++ b/features/scripts/utils/nomarchy-restart-hypridle @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Restart the hypridle service (used for idle detection and auto-lock). diff --git a/features/scripts/utils/nomarchy-restart-hyprsunset b/features/scripts/utils/nomarchy-restart-hyprsunset index 8defc66..21a503d 100755 --- a/features/scripts/utils/nomarchy-restart-hyprsunset +++ b/features/scripts/utils/nomarchy-restart-hyprsunset @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Restart the hyprsunset service (used for blue light filtering/night light). diff --git a/features/scripts/utils/nomarchy-restart-mako b/features/scripts/utils/nomarchy-restart-mako index a0633b1..6635cd2 100755 --- a/features/scripts/utils/nomarchy-restart-mako +++ b/features/scripts/utils/nomarchy-restart-mako @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reload mako configuration (used by the Nomarchy theme switching). diff --git a/features/scripts/utils/nomarchy-restart-opencode b/features/scripts/utils/nomarchy-restart-opencode index a674af2..d2b1e7a 100755 --- a/features/scripts/utils/nomarchy-restart-opencode +++ b/features/scripts/utils/nomarchy-restart-opencode @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reload opencode configuration (used by the Nomarchy theme switching). diff --git a/features/scripts/utils/nomarchy-restart-swayosd b/features/scripts/utils/nomarchy-restart-swayosd index d87a477..1587001 100755 --- a/features/scripts/utils/nomarchy-restart-swayosd +++ b/features/scripts/utils/nomarchy-restart-swayosd @@ -1,3 +1,4 @@ #!/bin/bash +set -e nomarchy-restart-app swayosd-server diff --git a/features/scripts/utils/nomarchy-restart-terminal b/features/scripts/utils/nomarchy-restart-terminal index 69ec8da..c8aee00 100755 --- a/features/scripts/utils/nomarchy-restart-terminal +++ b/features/scripts/utils/nomarchy-restart-terminal @@ -1,4 +1,5 @@ #!/bin/bash +set -e if [[ -f ~/.config/alacritty/alacritty.toml ]]; then touch ~/.config/alacritty/alacritty.toml diff --git a/features/scripts/utils/nomarchy-restart-tmux b/features/scripts/utils/nomarchy-restart-tmux index b1ce760..e4adfc3 100755 --- a/features/scripts/utils/nomarchy-restart-tmux +++ b/features/scripts/utils/nomarchy-restart-tmux @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Restart tmux if running with the latest configuration diff --git a/features/scripts/utils/nomarchy-restart-walker b/features/scripts/utils/nomarchy-restart-walker index 3357eee..d990cdc 100755 --- a/features/scripts/utils/nomarchy-restart-walker +++ b/features/scripts/utils/nomarchy-restart-walker @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Walker (with runAsService = true) and elephant are Home Manager user # services. Restart via systemd so the new process inherits the full graphical diff --git a/features/scripts/utils/nomarchy-restart-waybar b/features/scripts/utils/nomarchy-restart-waybar index 0e4f690..8f749f9 100755 --- a/features/scripts/utils/nomarchy-restart-waybar +++ b/features/scripts/utils/nomarchy-restart-waybar @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Reload waybar in place when it's already running. SIGUSR2 makes waybar # re-read its config.jsonc and CSS (including @import-ed files like diff --git a/features/scripts/utils/nomarchy-skill b/features/scripts/utils/nomarchy-skill index 0f844c4..19c6768 100755 --- a/features/scripts/utils/nomarchy-skill +++ b/features/scripts/utils/nomarchy-skill @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Skill Script # Displays the Nomarchy Skill documentation for agents and power users. diff --git a/features/scripts/utils/nomarchy-state b/features/scripts/utils/nomarchy-state index 855676f..84a685a 100755 --- a/features/scripts/utils/nomarchy-state +++ b/features/scripts/utils/nomarchy-state @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Manage persistent runtime state files for Nomarchy indicators. # Usage: nomarchy-state diff --git a/features/scripts/utils/nomarchy-state-write b/features/scripts/utils/nomarchy-state-write index 2f3ba44..9cef315 100755 --- a/features/scripts/utils/nomarchy-state-write +++ b/features/scripts/utils/nomarchy-state-write @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Atomic State Write Helper # Provides atomic JSON state updates with flock to prevent race conditions # diff --git a/features/scripts/utils/nomarchy-test-installer b/features/scripts/utils/nomarchy-test-installer index 21f0d0a..134faae 100755 --- a/features/scripts/utils/nomarchy-test-installer +++ b/features/scripts/utils/nomarchy-test-installer @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Build and run the Nomarchy Installer VM for testing. diff --git a/features/scripts/utils/nomarchy-test-vm b/features/scripts/utils/nomarchy-test-vm index f8efa50..a0faf76 100755 --- a/features/scripts/utils/nomarchy-test-vm +++ b/features/scripts/utils/nomarchy-test-vm @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Build and run the Nomarchy VM (installed environment) for testing. diff --git a/features/scripts/utils/nomarchy-theme b/features/scripts/utils/nomarchy-theme index ce89ac0..6913ed5 100755 --- a/features/scripts/utils/nomarchy-theme +++ b/features/scripts/utils/nomarchy-theme @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Theme Helper # Usage: nomarchy-theme [selector|set |list] diff --git a/features/scripts/utils/nomarchy-toggle-notification-silencing b/features/scripts/utils/nomarchy-toggle-notification-silencing index 15ee7b5..294687e 100755 --- a/features/scripts/utils/nomarchy-toggle-notification-silencing +++ b/features/scripts/utils/nomarchy-toggle-notification-silencing @@ -1,4 +1,5 @@ #!/bin/bash +set -e makoctl mode -t do-not-disturb diff --git a/features/scripts/utils/nomarchy-toggle-screensaver b/features/scripts/utils/nomarchy-toggle-screensaver index 6d23d61..802ebaa 100755 --- a/features/scripts/utils/nomarchy-toggle-screensaver +++ b/features/scripts/utils/nomarchy-toggle-screensaver @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles the screensaver availability. # Hybrid: updates state.json and runs env-update for persistence. diff --git a/features/scripts/utils/nomarchy-toggle-waybar b/features/scripts/utils/nomarchy-toggle-waybar index ca095f3..0711850 100755 --- a/features/scripts/utils/nomarchy-toggle-waybar +++ b/features/scripts/utils/nomarchy-toggle-waybar @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles the waybar top bar. # Hybrid: updates state.json and provides instant feedback. diff --git a/features/scripts/utils/nomarchy-update-available b/features/scripts/utils/nomarchy-update-available index 10cc658..6852b93 100644 --- a/features/scripts/utils/nomarchy-update-available +++ b/features/scripts/utils/nomarchy-update-available @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Update Available Script # Checks if flake updates are available and returns info for Waybar diff --git a/features/scripts/utils/nomarchy-version b/features/scripts/utils/nomarchy-version index 61b36c1..661958f 100755 --- a/features/scripts/utils/nomarchy-version +++ b/features/scripts/utils/nomarchy-version @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Version Script # Prints the current Nomarchy version based on the upstream NixOS channel. diff --git a/features/scripts/utils/nomarchy-voxtype-status b/features/scripts/utils/nomarchy-voxtype-status index 03d7e1d..a8dd008 100755 --- a/features/scripts/utils/nomarchy-voxtype-status +++ b/features/scripts/utils/nomarchy-voxtype-status @@ -1,4 +1,5 @@ #!/bin/bash +set -e if nomarchy-cmd-present voxtype; then voxtype status --follow --extended --format json | while read -r line; do diff --git a/features/scripts/utils/nomarchy-wallpaper b/features/scripts/utils/nomarchy-wallpaper index 909e104..6bde562 100755 --- a/features/scripts/utils/nomarchy-wallpaper +++ b/features/scripts/utils/nomarchy-wallpaper @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Nomarchy Wallpaper Helper # Usage: nomarchy-wallpaper [selector|set |next] diff --git a/features/scripts/utils/nomarchy-webapp-handler-hey b/features/scripts/utils/nomarchy-webapp-handler-hey index f050d36..5c5f753 100755 --- a/features/scripts/utils/nomarchy-webapp-handler-hey +++ b/features/scripts/utils/nomarchy-webapp-handler-hey @@ -1,4 +1,5 @@ #!/bin/bash +set -e url="$1" web_url="https://app.hey.com" diff --git a/features/scripts/utils/nomarchy-webapp-handler-zoom b/features/scripts/utils/nomarchy-webapp-handler-zoom index 82aafe9..0e56105 100755 --- a/features/scripts/utils/nomarchy-webapp-handler-zoom +++ b/features/scripts/utils/nomarchy-webapp-handler-zoom @@ -1,4 +1,5 @@ #!/bin/bash +set -e url="$1" web_url="https://app.zoom.us/wc/home" diff --git a/features/scripts/utils/nomarchy-welcome b/features/scripts/utils/nomarchy-welcome index d13bd28..e38015e 100755 --- a/features/scripts/utils/nomarchy-welcome +++ b/features/scripts/utils/nomarchy-welcome @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e STATE_FILE="$HOME/.config/nomarchy/state.json" diff --git a/features/scripts/utils/nomarchy-windows-vm b/features/scripts/utils/nomarchy-windows-vm index 40d8f6e..000e9ce 100755 --- a/features/scripts/utils/nomarchy-windows-vm +++ b/features/scripts/utils/nomarchy-windows-vm @@ -1,4 +1,5 @@ #!/bin/bash +set -e COMPOSE_FILE="$HOME/.config/windows/docker-compose.yml" check_prerequisites() { diff --git a/themes/engine/scripts/nomarchy-font-current b/themes/engine/scripts/nomarchy-font-current index b5b79d1..83aff57 100755 --- a/themes/engine/scripts/nomarchy-font-current +++ b/themes/engine/scripts/nomarchy-font-current @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns the name of the current monospace font being used by extracting it from the Waybar stylesheet. # This can be changed using nomarchy-font-set. diff --git a/themes/engine/scripts/nomarchy-font-list b/themes/engine/scripts/nomarchy-font-list index 90490c7..78f7e55 100755 --- a/themes/engine/scripts/nomarchy-font-list +++ b/themes/engine/scripts/nomarchy-font-list @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Returns a list of all the monospace fonts available on the system that can be set using nomarchy-font-set. diff --git a/themes/engine/scripts/nomarchy-font-set b/themes/engine/scripts/nomarchy-font-set index e1f6086..2a96564 100755 --- a/themes/engine/scripts/nomarchy-font-set +++ b/themes/engine/scripts/nomarchy-font-set @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Set the system-wide monospace font that should be used by the terminal, hyprlock, waybar, swayosd, etc. # Declarative version for Nomarchy NixOS. diff --git a/themes/engine/scripts/nomarchy-show-done b/themes/engine/scripts/nomarchy-show-done index 36f5aec..d87c7d3 100755 --- a/themes/engine/scripts/nomarchy-show-done +++ b/themes/engine/scripts/nomarchy-show-done @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Display a "Done!" message with a spinner and wait for user to press any key. # Used by various install scripts to indicate completion. diff --git a/themes/engine/scripts/nomarchy-show-logo b/themes/engine/scripts/nomarchy-show-logo index c279063..0e7dc31 100755 --- a/themes/engine/scripts/nomarchy-show-logo +++ b/themes/engine/scripts/nomarchy-show-logo @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Display the Nomarchy logo in the terminal using green color. # Used by various presentation scripts to show branding. diff --git a/themes/engine/scripts/nomarchy-theme-bg-install b/themes/engine/scripts/nomarchy-theme-bg-install index db3e4b9..bd1da72 100755 --- a/themes/engine/scripts/nomarchy-theme-bg-install +++ b/themes/engine/scripts/nomarchy-theme-bg-install @@ -1,4 +1,5 @@ #!/bin/bash +set -e CURRENT_THEME_NAME=$(cat "$HOME/.config/nomarchy/current/theme.name") THEME_USER_BACKGROUNDS="$HOME/.config/nomarchy/backgrounds/$CURRENT_THEME_NAME" diff --git a/themes/engine/scripts/nomarchy-theme-bg-next b/themes/engine/scripts/nomarchy-theme-bg-next index 4f20a78..171b875 100755 --- a/themes/engine/scripts/nomarchy-theme-bg-next +++ b/themes/engine/scripts/nomarchy-theme-bg-next @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Cycles through the background images available for the current theme. # Declarative + Hybrid (instant swww) for Nomarchy NixOS. diff --git a/themes/engine/scripts/nomarchy-theme-bg-set b/themes/engine/scripts/nomarchy-theme-bg-set index 26e3c44..0877ba3 100755 --- a/themes/engine/scripts/nomarchy-theme-bg-set +++ b/themes/engine/scripts/nomarchy-theme-bg-set @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Sets the specified image as the current background diff --git a/themes/engine/scripts/nomarchy-theme-current b/themes/engine/scripts/nomarchy-theme-current index 2007b41..d66dcc1 100755 --- a/themes/engine/scripts/nomarchy-theme-current +++ b/themes/engine/scripts/nomarchy-theme-current @@ -1,4 +1,5 @@ #!/bin/bash +set -e THEME_NAME_PATH="$HOME/.config/nomarchy/current/theme.name" diff --git a/themes/engine/scripts/nomarchy-theme-install b/themes/engine/scripts/nomarchy-theme-install index 0916391..874ef89 100755 --- a/themes/engine/scripts/nomarchy-theme-install +++ b/themes/engine/scripts/nomarchy-theme-install @@ -1,4 +1,5 @@ #!/bin/bash +set -e # nomarchy-theme-install: Install a new theme from a git repo for Nomarchy # Usage: nomarchy-theme-install diff --git a/themes/engine/scripts/nomarchy-theme-list b/themes/engine/scripts/nomarchy-theme-list index c43b044..5fe2e8e 100755 --- a/themes/engine/scripts/nomarchy-theme-list +++ b/themes/engine/scripts/nomarchy-theme-list @@ -1,4 +1,5 @@ #!/bin/bash +set -e { find ~/.config/nomarchy/themes/ -mindepth 1 -maxdepth 1 \( -type d -o -type l \) -printf '%f\n' diff --git a/themes/engine/scripts/nomarchy-theme-refresh b/themes/engine/scripts/nomarchy-theme-refresh index a3dc806..6b37f61 100755 --- a/themes/engine/scripts/nomarchy-theme-refresh +++ b/themes/engine/scripts/nomarchy-theme-refresh @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Refresh the current theme from its templates. diff --git a/themes/engine/scripts/nomarchy-theme-remove b/themes/engine/scripts/nomarchy-theme-remove index 7b058c4..c95fce3 100755 --- a/themes/engine/scripts/nomarchy-theme-remove +++ b/themes/engine/scripts/nomarchy-theme-remove @@ -1,4 +1,5 @@ #!/bin/bash +set -e # nomarchy-theme-remove: Remove a theme from Nomarchy by name # Usage: nomarchy-theme-remove diff --git a/themes/engine/scripts/nomarchy-theme-set b/themes/engine/scripts/nomarchy-theme-set index 297cb0a..ec6653c 100755 --- a/themes/engine/scripts/nomarchy-theme-set +++ b/themes/engine/scripts/nomarchy-theme-set @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Set the system theme declaratively. # Usage: nomarchy-theme-set diff --git a/themes/engine/scripts/nomarchy-theme-set-keyboard b/themes/engine/scripts/nomarchy-theme-set-keyboard index 24b939e..a9545f3 100755 --- a/themes/engine/scripts/nomarchy-theme-set-keyboard +++ b/themes/engine/scripts/nomarchy-theme-set-keyboard @@ -1,4 +1,5 @@ #!/bin/bash +set -e nomarchy-theme-set-keyboard-asus-rog nomarchy-theme-set-keyboard-f16 diff --git a/themes/engine/scripts/nomarchy-theme-set-keyboard-asus-rog b/themes/engine/scripts/nomarchy-theme-set-keyboard-asus-rog index a705674..389b867 100755 --- a/themes/engine/scripts/nomarchy-theme-set-keyboard-asus-rog +++ b/themes/engine/scripts/nomarchy-theme-set-keyboard-asus-rog @@ -1,4 +1,5 @@ #!/bin/bash +set -e ASUSCTL_THEME=~/.config/nomarchy/current/theme/keyboard.rgb diff --git a/themes/engine/scripts/nomarchy-theme-set-keyboard-f16 b/themes/engine/scripts/nomarchy-theme-set-keyboard-f16 index 66a0f12..ab30182 100755 --- a/themes/engine/scripts/nomarchy-theme-set-keyboard-f16 +++ b/themes/engine/scripts/nomarchy-theme-set-keyboard-f16 @@ -1,4 +1,5 @@ #!/bin/bash +set -e FRAMEWORK16_THEME=~/.config/nomarchy/current/theme/keyboard.rgb diff --git a/themes/engine/scripts/nomarchy-theme-set-obsidian b/themes/engine/scripts/nomarchy-theme-set-obsidian index e24fd8d..b7bcf6f 100755 --- a/themes/engine/scripts/nomarchy-theme-set-obsidian +++ b/themes/engine/scripts/nomarchy-theme-set-obsidian @@ -1,4 +1,5 @@ #!/bin/bash +set -e # Sync Nomarchy theme to all Obsidian vaults diff --git a/themes/engine/scripts/nomarchy-theme-set-templates b/themes/engine/scripts/nomarchy-theme-set-templates index e9f8ee0..62d2ffe 100755 --- a/themes/engine/scripts/nomarchy-theme-set-templates +++ b/themes/engine/scripts/nomarchy-theme-set-templates @@ -1,4 +1,5 @@ #!/bin/bash +set -e TEMPLATES_DIR="$NOMARCHY_PATH/themes/templates" USER_TEMPLATES_DIR="$HOME/.config/nomarchy/themes/templates" diff --git a/themes/engine/scripts/nomarchy-theme-update b/themes/engine/scripts/nomarchy-theme-update index af49ea0..03132e5 100755 --- a/themes/engine/scripts/nomarchy-theme-update +++ b/themes/engine/scripts/nomarchy-theme-update @@ -1,4 +1,5 @@ #!/bin/bash +set -e for dir in ~/.config/nomarchy/themes/*/; do if [[ -d $dir ]] && [[ ! -L ${dir%/} ]] && [[ -d $dir/.git ]]; then diff --git a/themes/engine/scripts/nomarchy-toggle-nightlight b/themes/engine/scripts/nomarchy-toggle-nightlight index f3a1f4f..aa9de23 100755 --- a/themes/engine/scripts/nomarchy-toggle-nightlight +++ b/themes/engine/scripts/nomarchy-toggle-nightlight @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -e # Toggles the nightlight (hyprsunset). # Hybrid: updates state.json and provides instant feedback.