home-manager: make newsReadIdsFile more reliable

Specifically, avoid duplicate remove duplicate slashes in the
`news-read-ids` file path.

Also quote the use of `newsReadIdsFile` to reduce problems with
potential spaces.

(cherry picked from commit 0c5704ecee)
This commit is contained in:
Luna Nova 2024-04-23 09:52:19 -07:00 committed by Robert Helgesson
parent d6bb9f934f
commit 86853e31dc
No known key found for this signature in database
GPG key ID: 96E745BD17AA17ED

View file

@ -733,7 +733,11 @@ function newsReadIdsFile() {
touch "$path" touch "$path"
fi fi
echo "$path" # Remove duplicate slashes in case $HOME or $XDG_DATA_HOME have a trailing
# slash. Double slashes causes Nix to error out with
#
# error: syntax error, unexpected PATH_END, expecting DOLLAR_CURLY".
echo "$path" | tr -s /
} }
# Builds the Home Manager news data file. # Builds the Home Manager news data file.
@ -768,7 +772,7 @@ function buildNews() {
done done
local readIdsFile local readIdsFile
readIdsFile=$(newsReadIdsFile) readIdsFile="$(newsReadIdsFile)"
nix-instantiate \ nix-instantiate \
--no-build-output --strict \ --no-build-output --strict \
@ -787,7 +791,7 @@ function doShowNews() {
buildNews "$newsNixFile" buildNews "$newsNixFile"
local readIdsFile local readIdsFile
readIdsFile=$(newsReadIdsFile) readIdsFile="$(newsReadIdsFile)"
local news local news