- Consolidate all configuration toggles (suspend, idle, waybar, etc.) into ~/.config/home-manager/state.json - Introduce nomarchy.toggles and nomarchy.hyprland options in Nix - Inject toggle states into all bin/ scripts via environment variables - Update toggle scripts to mutate JSON and trigger background rebuilds - Add a migration script to transition legacy flag files to the new format
29 lines
791 B
Bash
Executable File
29 lines
791 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Manage persistent runtime state files for Nomarchy indicators.
|
|
# Usage: nomarchy-state <set|clear> <state-name-or-pattern>
|
|
# Used to track whether things like reboot, restart, etc are required.
|
|
# DO NOT use this for configuration toggles (suspend, screensaver, etc).
|
|
# Use declarative Nomarchy NixOS home-manager options for those instead.
|
|
|
|
STATE_DIR="$HOME/.local/state/nomarchy"
|
|
mkdir -p "$STATE_DIR"
|
|
|
|
COMMAND="$1"
|
|
STATE_NAME="$2"
|
|
|
|
if [[ -z $COMMAND ]]; then
|
|
echo "Usage: nomarchy-state <set|clear> <state-name-or-pattern>"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z $STATE_NAME ]]; then
|
|
echo "Usage: nomarchy-state $COMMAND <state-name>"
|
|
exit 1
|
|
fi
|
|
|
|
case "$COMMAND" in
|
|
set) touch "$STATE_DIR/$STATE_NAME" ;;
|
|
clear) find "$STATE_DIR" -maxdepth 1 -type f -name "$STATE_NAME" -delete ;;
|
|
esac
|