From 5d5a66a5d31ad7708b1d998228f2230febeba4b5 Mon Sep 17 00:00:00 2001 From: Asperatus Date: Sat, 22 Apr 2023 09:33:15 -0400 Subject: [PATCH] xdg-ninja: allow custom programs/ dir via XN_PROGRAMS_DIR In order to foresee the work on the unified packaging process, the programs/ directory (which should be located in /usr/share/xdg-ninja or /usr/local/share/xdg-ninja) is automatically found depending on where the xdg-ninja executable is located. This also allows for backwards compatibility as when the xdg-ninja script is located in a working directory (not in a bin/), xdg-ninja automatically picks the programs/ folder in the current working directory, just like previously. If the directory fails to find the programs/ dir, the user can override the variable XN_PROGRAMS_DIR through environment variables. This change is to prevent people from packaging xdg-ninja with the programs/ directory within /usr(/local)/bin or by modifying the script in place. --- README.md | 2 +- xdg-ninja.sh | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d650c1fa..4e132016 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ To install xdg-ninja with [Homebrew](https://brew.sh), run `brew install xdg-nin ## Configuration -The configuration is done in the _programs/_ directory. +The configuration is done in the _programs/_ directory, which should be located in the same working directory as the xdg-ninja.sh script. This can be overriden with the `XN_PROGRAMS_DIR` environment variable. You define a program, and then a list of files and directories which this program ruthlessly puts into your _$HOME_ directory. diff --git a/xdg-ninja.sh b/xdg-ninja.sh index 8a0ff98c..8780de7a 100755 --- a/xdg-ninja.sh +++ b/xdg-ninja.sh @@ -218,7 +218,7 @@ do_check_programs() { " read -r name; read -r filename; read -r movable; read -r help; do check_file "$name" "$filename" "$movable" "$help" done <