Mercurial > dotfiles
view .chezmoi.toml.tmpl @ 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 | 587765960227 |
children |
line wrap: on
line source
{{- $email := "" -}} {{- if (hasKey . "email") -}} {{- $email = .email -}} {{- else -}} {{- $email = promptString "email" -}} {{- end -}} {{- $name := "" -}} {{- if (hasKey . "name") -}} {{- $name = .name -}} {{- else -}} {{- $name = promptString "name" -}} {{- end -}} {{- $signingkey := "" -}} {{- if (hasKey . "signingkey") -}} {{- $signingkey = .signingkey -}} {{- else -}} {{- $signingkey = promptString "GPG key" -}} {{- end -}} {{- $font_size := "" -}} {{- if (hasKey . "font_size") -}} {{- $font_size = .font_size -}} {{- else -}} {{- $font_size = promptString "font_size" -}} {{- end -}} {{- $dark := "" -}} {{- if (hasKey . "dark") -}} {{- $dark = .dark -}} {{- else -}} {{- $dark = promptBool "dark" -}} {{- end -}} [data] email = {{ $email | quote }} name = {{ $name | quote }} signingkey = {{ $signingkey | quote }} font_size = {{ $font_size | quote }} dark = {{ $dark }} [merge] command = "nvim" args = ["-d", {{ "{{ .Destination }}" | quote }}, {{ "{{ .Source }}" | quote }}, {{ "{{ .Target }}" | quote }}] [diff] exclude = ["scripts"]