Compare commits

...

2 commits

Author SHA1 Message Date
abb286ba2a better error handling (again) 2025-03-07 12:25:56 -06:00
6409d6d146 error handling, readme updates 2025-03-07 12:22:04 -06:00
2 changed files with 14 additions and 1 deletions

View file

@ -11,7 +11,12 @@ i have an unhealthy relationship with overlayfs. i also like to easily change my
# Usage
```sh
configctl <changeset> [unmount]
configctl [OPTIONS] <changeset_name> [unmount]
options
-a, --automount automatically enable the changeset service file
-f, --force ovewrite existing service file
-s, --service-path the path to write the service file
```
by default, the configctl expects the base configuration set to exist in `$XDG_DATA_HOME/config/base` (usually `~/.local/share/config/base`) and the changesets to exist in `$XDG_DATA_HOME/config/changeset`. changes while the configuration is mounted will be written to `$XDG_STATE_HOME/config/{<changeset>,.work_<changeset>}`

View file

@ -48,15 +48,23 @@ while true; do
-s | --service-path ) SVC_PATH="$2"; shift 2 ;;
\? | -\? ) echo "Unknown option: $1"; exit 1 ;;
-- ) shift; break ;;
-* ) echo "ERROR: Unknown option: '$1'"; exit 1 ;;
* ) break ;;
esac
done
shift "$(($OPTIND - 1))"
SELECTED="$1"
CHANGESET="$CHANGESET_DIR/$SELECTED"
UPPER_DIR="$XDG_STATE_HOME/config/$SELECTED"
WORKDIR="$XDG_STATE_HOME/config/.work_$SELECTED"
if [ -z "$SELECTED" ]; then
usage
exit
fi
if [ ! -d "$CHANGESET" ]; then
echo "'$CHANGESET' not found."
exit 1