chore: add 'set -e' to every nomarchy-* bash script that lacks it

Sweep across the three script directories: features/scripts/utils,
core/system/scripts, themes/engine/scripts. 142 of 169 bash scripts
gained `set -e`; 27 already had it; the one Python helper
(nomarchy-haptic-touchpad) was skipped via shebang detection.

Why: bash's default behavior is to continue past a failed command,
which means a script that does "do A; do B; do C" leaves the system
in a half-applied state when B fails - and the user gets no signal.
Several recent fix commits (theme partial-apply, waybar reload race,
installer prewipe silent failures) all trace back to this. set -e
turns silent corruption into a loud abort the user can act on.

The 11 scripts with explicit `|| true` markers stay safe under set -e
because || true coerces the exit to zero; the markers continue to
mean "I deliberately tolerate this failure here."

Deliberate exception: nomarchy-menu runs WITHOUT set -e. It is an
interactive UX loop where action branches do `cmd; back_to <self>`
so a failed action would abort the script under set -e and the menu
would disappear without feedback. Soft-failure - menu re-displays,
user picks again - is the right semantic. Documented inline.

Validation: bash -n on every modified script (zero failures). The
new pre-commit hook (27f5663) was just updated to filter by shebang
so it doesn't try to bash-syntax-check the Python helper - that
filter was uncovered by this sweep.

Risk: set -e can surface latent bugs in scripts that previously
relied on silent continuation. If anything breaks, it's a real bug
that was already broken and is now visible. Easy per-script revert
if any UX glitches show up.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-04-30 20:50:13 +01:00
parent 27f5663cdf
commit 1e9481849b
143 changed files with 148 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns the battery full capacity in Wh (rounded to whole number). # Returns the battery full capacity in Wh (rounded to whole number).
# Used by nomarchy-battery-status for displaying battery capacity. # Used by nomarchy-battery-status for displaying battery capacity.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Designed to be run by systemd timer every 30 seconds and alerts if battery is low # Designed to be run by systemd timer every 30 seconds and alerts if battery is low

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns true if a battery is present on the system. # Returns true if a battery is present on the system.
# Used by the battery monitor and other battery-related checks. # Used by the battery monitor and other battery-related checks.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns the battery percentage remaining as an integer. # Returns the battery percentage remaining as an integer.
# Used by the battery monitor and the Ctrl + Shift + Super + B hotkey. # Used by the battery monitor and the Ctrl + Shift + Super + B hotkey.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns the battery time remaining (to empty or full) in a compact format. # Returns the battery time remaining (to empty or full) in a compact format.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns a formatted battery status string with percentage and power draw/charge. # Returns a formatted battery status string with percentage and power draw/charge.
# Used by the battery notification hotkey (Ctrl + Shift + Super + B). # Used by the battery notification hotkey (Ctrl + Shift + Super + B).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Adjust brightness on the most likely display device. # Adjust brightness on the most likely display device.
# Usage: nomarchy-brightness-display <step> # Usage: nomarchy-brightness-display <step>

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Adjust the brightness on Apple Studio Displays and Apple XDR Displays using asdcontrol. # Adjust the brightness on Apple Studio Displays and Apple XDR Displays using asdcontrol.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Adjust keyboard backlight brightness using available steps. # Adjust keyboard backlight brightness using available steps.
# Usage: nomarchy-brightness-keyboard <up|down|cycle> # Usage: nomarchy-brightness-keyboard <up|down|cycle>

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Check if hibernation is supported # Check if hibernation is supported
if [[ ! -f /sys/power/image_size ]]; then if [[ ! -f /sys/power/image_size ]]; then

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Removes hibernation setup: disables swap, removes swapfile, removes fstab entry, # Removes hibernation setup: disables swap, removes swapfile, removes fstab entry,
# removes resume hook, and removes suspend-then-hibernate configuration. # removes resume hook, and removes suspend-then-hibernate configuration.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Creates a swap file in the btrfs subvolume, adds the swap file to /etc/fstab, # 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. # adds a resume hook to mkinitcpio, and configures suspend-then-hibernate.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Detect whether the computer is an Asus ROG machine. # Detect whether the computer is an Asus ROG machine.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Match against the computer's DMI product name (case-insensitive). # Match against the computer's DMI product name (case-insensitive).
# Usage: nomarchy-hw-match "XPS" # Usage: nomarchy-hw-match "XPS"

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Detect whether Vulkan is available. # Detect whether Vulkan is available.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
PKG_NAME="$1" PKG_NAME="$1"

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
PKG_NAME="$1" PKG_NAME="$1"

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns a list of all the available power profiles on the system. # Returns a list of all the available power profiles on the system.
# Used by the Nomarchy Menu under Setup > Power Profile. # Used by the Nomarchy Menu under Setup > Power Profile.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Pre-flight State Migration # Nomarchy Pre-flight State Migration
# Migrates legacy state files into the unified state.json before Nix evaluation # Migrates legacy state files into the unified state.json before Nix evaluation

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Unblock and restart the bluetooth service. # Unblock and restart the bluetooth service.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Restart the PipeWire audio service to fix audio issues or apply new configuration. # Restart the PipeWire audio service to fix audio issues or apply new configuration.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reload the intel_quicki2c driver to fix a dead trackpad. # Reload the intel_quicki2c driver to fix a dead trackpad.
# The THC (Touch Host Controller) can fail to initialize interrupts # The THC (Touch Host Controller) can fail to initialize interrupts

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Unblock and restart the Wi-Fi service. # Unblock and restart the Wi-Fi service.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Restart the XCompose input method service (fcitx5) to apply new compose key settings. # Restart the XCompose input method service (fcitx5) to apply new compose key settings.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Configure DNS declaratively for Nomarchy NixOS. # Configure DNS declaratively for Nomarchy NixOS.
# Hybrid: updates /etc/nixos/state.json and runs sys-update. # Hybrid: updates /etc/nixos/state.json and runs sys-update.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Configure FIDO2 support declaratively for Nomarchy NixOS. # Configure FIDO2 support declaratively for Nomarchy NixOS.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Configure fingerprint support declaratively for Nomarchy NixOS. # Configure fingerprint support declaratively for Nomarchy NixOS.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Prompt for sudo once and keep the credential alive in the background. # Prompt for sudo once and keep the credential alive in the background.
# Source this script so the trap applies to the calling shell: # Source this script so the trap applies to the calling shell:

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Toggle passwordless sudo for the current user. # Toggle passwordless sudo for the current user.
# First run: enables passwordless sudo for 15 minutes (after confirmation). # First run: enables passwordless sudo for 15 minutes (after confirmation).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reset the sudo lockout/faillock for the current user. # Reset the sudo lockout/faillock for the current user.
# This clears any failed authentication attempts that may have locked the user out. # This clears any failed authentication attempts that may have locked the user out.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Display brightness level using SwayOSD on the current monitor. # Display brightness level using SwayOSD on the current monitor.
# Usage: nomarchy-swayosd-brightness <percent> # Usage: nomarchy-swayosd-brightness <percent>

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Display keyboard brightness level using SwayOSD on the current monitor. # Display keyboard brightness level using SwayOSD on the current monitor.
# Usage: nomarchy-swayosd-kbd-brightness <percent> # Usage: nomarchy-swayosd-kbd-brightness <percent>

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Logout command that first closes all application windows (thus giving them a chance to save state), # 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. # then stops the session, returning to the SDDM login screen.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reboot command that first closes all application windows (thus giving them a chance to save state). # 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. # This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Shutdown command that first closes all application windows (thus giving them a chance to save state). # 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. # This is particularly helpful for applications like Chromium that otherwise won't shutdown cleanly.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Toggle dedicated vs integrated GPU mode via supergfxd (for hybrid gpu laptops, like Asus G14). # Toggle dedicated vs integrated GPU mode via supergfxd (for hybrid gpu laptops, like Asus G14).
# Declarative enablement + Runtime mode switching for Nomarchy NixOS. # Declarative enablement + Runtime mode switching for Nomarchy NixOS.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Toggles the idle daemon (hypridle) between enabled and disabled. # Toggles the idle daemon (hypridle) between enabled and disabled.
# Hybrid: updates state.json and provides instant feedback. # Hybrid: updates state.json and provides instant feedback.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Toggles the suspend menu option availability. # Toggles the suspend menu option availability.
# Hybrid: updates state.json and runs env-update for persistence. # Hybrid: updates state.json and runs env-update for persistence.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Select system timezone declaratively for Nomarchy NixOS. # Select system timezone declaratively for Nomarchy NixOS.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
echo "Updating time..." echo "Updating time..."
sudo systemctl restart systemd-timesyncd sudo systemctl restart systemd-timesyncd

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Toggles wifi power saving declaratively. # Toggles wifi power saving declaratively.
# Usage: nomarchy-wifi-powersave <on|off> # Usage: nomarchy-wifi-powersave <on|off>

View File

@@ -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.) (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_ — 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-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). - _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).

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Backup Script # Nomarchy Backup Script
# Alias for nomarchy-sync push. # Alias for nomarchy-sync push.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Build the Nomarchy Installer ISO declaratively using the flake. # Build the Nomarchy Installer ISO declaratively using the flake.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Build the Nomarchy Live ISO (Full Desktop Environment) using the flake. # Build the Nomarchy Live ISO (Full Desktop Environment) using the flake.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Switch between audio outputs while preserving the mute status. By default mapped to Super + Mute. # Switch between audio outputs while preserving the mute status. By default mapped to Super + Mute.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns true if all the commands passed in as arguments exit on the system. # Returns true if all the commands passed in as arguments exit on the system.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Start and stop a screenrecording, which will be saved to ~/Videos by default. # 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. # Alternative location can be set via NOMARCHY_SCREENRECORD_DIR or XDG_VIDEOS_DIR ENVs.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Run the Nomarchy screensaver using random effects from TTE. # Run the Nomarchy screensaver using random effects from TTE.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Take a screenshot of the whole screen, a specific window, or a user-drawn region. # 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. # Saves to ~/Pictures by default, but that can be changed via NOMARCHY_SCREENSHOT_DIR or XDG_PICTURES_DIR ENVs.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Share clipboard, file, or folder using LocalSend. Bound to Super + Ctrl + S by default. # Share clipboard, file, or folder using LocalSend. Bound to Super + Ctrl + S by default.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns the current working directory of the active terminal window, # Returns the current working directory of the active terminal window,
# so a new terminal window can be started in the same directory. # so a new terminal window can be started in the same directory.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Add an EFI boot entry for the Nomarchy UKI, allowing the system to boot directly # 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. # without a bootloader like Limine. Requires UEFI firmware and a built UKI.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Generator tolerates "no matches" exit codes from grep | sort. # Generator tolerates "no matches" exit codes from grep | sort.
# pipefail and -e off; -u stays. # pipefail and -e off; -u stays.
set -u set -u

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Returns drive information about a given volumne, like /dev/nvme0, which is used by nomarchy-drive-select. # Returns drive information about a given volumne, like /dev/nvme0, which is used by nomarchy-drive-select.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Select a drive from a list with info that includes space and brand. Used by nomarchy-drive-set-password. # Select a drive from a list with info that includes space and brand. Used by nomarchy-drive-set-password.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Set a new encryption password for a drive selected. # Set a new encryption password for a drive selected.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Font Helper # Nomarchy Font Helper
# Usage: nomarchy-font [selector|set <name>|list] # Usage: nomarchy-font [selector|set <name>|list]

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Toggles transparency for the currently focused window. # Toggles transparency for the currently focused window.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Get the active monitor (the one with the cursor) # Get the active monitor (the one with the cursor)
MONITOR_INFO=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)') MONITOR_INFO=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true)')

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Close all open windows # Close all open windows
hyprctl clients -j | \ hyprctl clients -j | \

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Toggles the window gaps globally between no gaps and the default 10/5/2, declaratively and instantly. # Toggles the window gaps globally between no gaps and the default 10/5/2, declaratively and instantly.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Toggle to pop-out a tile to stay fixed on a display basis. # Toggle to pop-out a tile to stay fixed on a display basis.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Check current single_window_aspect_ratio setting # Check current single_window_aspect_ratio setting
CURRENT_VALUE=$(hyprctl getoption "layout:single_window_aspect_ratio" 2>/dev/null | head -1) CURRENT_VALUE=$(hyprctl getoption "layout:single_window_aspect_ratio" 2>/dev/null | head -1)

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Toggle the layout on the current active workspace between dwindle and scrolling # Toggle the layout on the current active workspace between dwindle and scrolling

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Install Script # Nomarchy Install Script
# Entry point for the Nomarchy installer. # Entry point for the Nomarchy installer.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Docker DBs Stub # Nomarchy Docker DBs Stub
# This script is a stub for a specialized tool. # This script is a stub for a specialized tool.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the fastfetch TUI that gives information about the current system. # Launch the fastfetch TUI that gives information about the current system.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the Nomarchy audio controls TUI (provided by wiremix). # Launch the Nomarchy audio controls TUI (provided by wiremix).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the Nomarchy bluetooth controls TUI (provided by bluetui). # Launch the Nomarchy bluetooth controls TUI (provided by bluetui).
# Also attempts to unblock bluetooth service if rfkill had blocked it. # Also attempts to unblock bluetooth service if rfkill had blocked it.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the default browser as determined by xdg-settings. # Launch the default browser as determined by xdg-settings.
# Automatically converts --private into the correct flag for the given browser. # Automatically converts --private into the correct flag for the given browser.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the default editor as determined by $EDITOR (set via ~/.config/uwsm/default) (or nvim if missing). # 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. # Starts suitable editors in a terminal window and otherwise as a regular application.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/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. # 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. # Used by actions such as Update System.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch or focus on a given command identified by the passed in window-pattern. # 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. # Use by some default bindings, like the one for Spotify, to ensure there is only one instance of the application open.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch or focus on a given TUI identified by the passed in as the command. # 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. # Use by commands like nomarchy-launch-wifi to ensure there is only one wifi configuration screen open.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch or focus on a given web app identified by the window-pattern. # 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. # Use by some default bindings, like the one for WhatsApp, to ensure there is only one instance of the application open.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the Nomarchy screensaver in the default terminal on the system with the correct font configuration. # Launch the Nomarchy screensaver in the default terminal on the system with the correct font configuration.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/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. # Launch the TUI command passed in as an argument in the default terminal with an org.nomarchy.COMMAND app id for styling.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Wrapper to launch walker with elephant provider, or fallback to rofi if walker is missing. # Wrapper to launch walker with elephant provider, or fallback to rofi if walker is missing.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/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). # Launch the passed in URL as a web app in the default browser (or chromium if the default doesn't support --app).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Launch the Nomarchy wifi controls (provided by the Impala TUI). # Launch the Nomarchy wifi controls (provided by the Impala TUI).
# Attempts to unblock the wifi service first in case it should be been blocked. # Attempts to unblock the wifi service first in case it should be been blocked.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Locks the system using hyprlock, but not before ensuring 1password has also been locked, and the screensaver stopped. # Locks the system using hyprlock, but not before ensuring 1password has also been locked, and the screensaver stopped.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Manual Script # Nomarchy Manual Script
# Opens the Nomarchy manual in the default web browser. # Opens the Nomarchy manual in the default web browser.

View File

@@ -1,6 +1,12 @@
#!/bin/bash #!/bin/bash
# Launch the Nomarchy Menu or takes a parameter to jump straight to a submenu. # 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 <self>` 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" export PATH="$HOME/.local/share/nomarchy/bin:$PATH"

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Display Hyprland keybindings defined in your configuration using walker for an interactive search menu. # Display Hyprland keybindings defined in your configuration using walker for an interactive search menu.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/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. # Dismiss a mako notification on the basis of its summary. Used by the first-run notifications to dismiss them after clicking for action.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Install an npx wrapper for a given npm package. # Install an npx wrapper for a given npm package.
# Usage: nomarchy-npx-install <package> [command-name] # Usage: nomarchy-npx-install <package> [command-name]

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy on-boot initialization script. # Nomarchy on-boot initialization script.
# Automatically detects the hardware, applies necessary runtime tweaks, # Automatically detects the hardware, applies necessary runtime tweaks,

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy AUR Stub # Nomarchy AUR Stub
# Informs the user that AUR is not applicable to NixOS. # Informs the user that AUR is not applicable to NixOS.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Package Drop Script # Nomarchy Package Drop Script
# Alias for nomarchy-pkg-remove. # Alias for nomarchy-pkg-remove.

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e
# Nomarchy Package Install Script # Nomarchy Package Install Script
# Alias for nomarchy-pkg-add for users coming from other distros. # Alias for nomarchy-pkg-add for users coming from other distros.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# nomarchy-refresh-config: Restore a specific configuration file to its stock version. # nomarchy-refresh-config: Restore a specific configuration file to its stock version.
# Usage: nomarchy-refresh-config <relative-path-to-config> # Usage: nomarchy-refresh-config <relative-path-to-config>

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Overwrite the user config for fastfetch with the Nomarchy default. # Overwrite the user config for fastfetch with the Nomarchy default.

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Restart an application by killing it and relaunching via uwsm. # Restart an application by killing it and relaunching via uwsm.
# Usage: nomarchy-restart-app <application-name> [application-args...] # Usage: nomarchy-restart-app <application-name> [application-args...]

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reload btop configuration (used by the Nomarchy theme switching). # Reload btop configuration (used by the Nomarchy theme switching).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reload hyprland configuration (used by the Nomarchy theme switching). # Reload hyprland configuration (used by the Nomarchy theme switching).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Restart the hypridle service (used for idle detection and auto-lock). # Restart the hypridle service (used for idle detection and auto-lock).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Restart the hyprsunset service (used for blue light filtering/night light). # Restart the hyprsunset service (used for blue light filtering/night light).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reload mako configuration (used by the Nomarchy theme switching). # Reload mako configuration (used by the Nomarchy theme switching).

View File

@@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
set -e
# Reload opencode configuration (used by the Nomarchy theme switching). # Reload opencode configuration (used by the Nomarchy theme switching).

Some files were not shown because too many files have changed in this diff Show More