changeset 840:f3e87577dd3a

fix: sort keys from template dicts to determistically generate scripts From http://masterminds.github.io/sprig/dicts.html > The keys function will return a list of all of the keys in one or more dict types. > Since a dictionary is unordered, the keys will not be in a predictable order. > They can be sorted with sortAlpha. This results in a different ordering of commands in the generated scripts which break the hashing in chezmoi to determine whether the scripts needs to be re-run.
author zegervdv <zegervdv@me.com>
date Fri, 02 Feb 2024 17:44:49 +0100
parents 053b735696ba
children 8afe3c7a5a35
files .chezmoiscripts/run_onchange_after_22-install-devtools.sh.tmpl .chezmoiscripts/run_onchange_after_41-install-language-servers.sh.tmpl
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/.chezmoiscripts/run_onchange_after_22-install-devtools.sh.tmpl	Fri Feb 02 17:44:25 2024 +0100
+++ b/.chezmoiscripts/run_onchange_after_22-install-devtools.sh.tmpl	Fri Feb 02 17:44:49 2024 +0100
@@ -17,7 +17,7 @@
 mkdir -p $DOWNLOAD_DIR
 pushd $DOWNLOAD_DIR
 
-{{ range keys $packages }}
+{{ range keys $packages | sortAlpha }}
 {{ $meta :=  get $packages . -}}
 VERSION={{ get $meta "version" }}
 echo "Downloading {{ . }} v{{ get $meta "version" }} ..."
--- a/.chezmoiscripts/run_onchange_after_41-install-language-servers.sh.tmpl	Fri Feb 02 17:44:25 2024 +0100
+++ b/.chezmoiscripts/run_onchange_after_41-install-language-servers.sh.tmpl	Fri Feb 02 17:44:49 2024 +0100
@@ -12,7 +12,7 @@
 
 curl -fsSL https://github.com/tamasfe/taplo/releases/download/{{ $taplo_version }}/taplo-full-linux-x86_64.gz | gzip -d - | sudo install -m 755 /dev/stdin /usr/local/bin/taplo
 
-{{ range keys $pipx_pkgs }}
+{{ range keys $pipx_pkgs | sortAlpha }}
 pipx install --force "{{ . }}=={{ get $pipx_pkgs . }}"
 {{ end }}