separate chezmoiexternals for macos and posix (for now)

This commit is contained in:
Lockszmith (@VAST) 2025-02-20 23:58:15 -05:00
parent 2e17bae9d0
commit bea637a7a7
2 changed files with 122 additions and 7 deletions

View File

@ -0,0 +1,105 @@
# https://www.chezmoi.io/reference/special-files-and-directories/chezmoiexternal-format/
#
# The externals are checked based on the refreshPeriod whenever an `apply` (or `update`) operations run
#
# The simplest form to update all externals:
# ```sh
# chezmoi apply --include externals
# ```
#
# Variable Type Default Description
# type string none External type (file, archive, archive-file, or git-repo)
# url string none URL
# refreshPeriod duration 0 Refresh period (Examples: one day (24h), one week (168h), or four weeks (672h))
# executable bool false Add executable_ attribute to file
# path string none Path to file in archive
{{ $defaultRefresh := "168h" -}}
{{- $externals := dict -}}
{{ $myArch := "aarch64-apple-darwin" }}
{{- with $repo := "zellij-org/zellij" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".cache/chezmoi/tmp/zellij" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/zellij-%s.tar.gz" $repo $version $myArch)
"path" "zellij"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{- with $repo := "dandavison/delta" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/delta" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/delta-%s-%s.tar.gz" $repo $version $version $myArch)
"path" (printf "delta-%s-%s/delta" $version $myArch)
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end -}}
{{ $myArch = "darwin_arm64" }}
{{- with $repo := "hickford/git-credential-oauth" -}}
{{- with $version := trimPrefix "v" (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/git-credential-oauth" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/v%s/git-credential-oauth_%s_%s.tar.gz" $repo $version $version $myArch)
"path" "git-credential-oauth"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end -}}
{{ $myArch = "mac" }}
{{- with $repo := "extrawurst/gitui" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/gitui" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/gitui-%s.tar.gz" $repo $version $myArch)
"path" "./gitui"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{ $myArch = "Darwin_arm64" }}
{{- with $repo := "theimpostor/osc" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/osc" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/osc_%s.tar.gz" $repo $version $myArch)
"path" "osc"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{ $myArch = "darwin-arm64" }}
{{- with $repo := "Lifailon/lazyjournal" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/lazyjournal" (dict
"type" "file"
"url" (printf "https://github.com/%s/releases/download/%s/lazyjournal-%s-%s" $repo $version $version $myArch)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{- $externals | toYaml }}
".config/sz.env/lib/delta.themes.gitconfig":
type: "file"
url: "https://raw.githubusercontent.com/dandavison/delta/refs/heads/main/themes.gitconfig"
refreshPeriod: "{{ $defaultRefresh }}"

View File

@ -17,11 +17,13 @@
{{ $defaultRefresh := "168h" -}}
{{- $externals := dict -}}
{{ $myArch := "x86_64-unknown-linux-musl" }}
{{- with $repo := "zellij-org/zellij" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".cache/chezmoi/tmp/zellij" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/zellij-x86_64-unknown-linux-musl.tar.gz" $repo $version)
"url" (printf "https://github.com/%s/releases/download/%s/zellij-%s.tar.gz" $repo $version $myArch)
"path" "zellij"
"executable" true
"refreshPeriod" $defaultRefresh
@ -33,18 +35,20 @@
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/delta" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/delta-%s-x86_64-unknown-linux-musl.tar.gz" $repo $version $version)
"path" (printf "delta-%s-x86_64-unknown-linux-musl/delta" $version)
"url" (printf "https://github.com/%s/releases/download/%s/delta-%s-%s.tar.gz" $repo $version $version $myArch)
"path" (printf "delta-%s-%s/delta" $version $myArch)
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end -}}
{{ $myArch = "linux_amd64" }}
{{- with $repo := "hickford/git-credential-oauth" -}}
{{- with $version := trimPrefix "v" (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/git-credential-oauth" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/v%s/git-credential-oauth_%s_linux_amd64.tar.gz" $repo $version $version)
"url" (printf "https://github.com/%s/releases/download/v%s/git-credential-oauth_%s_%s.tar.gz" $repo $version $version $myArch)
"path" "git-credential-oauth"
"executable" true
"refreshPeriod" $defaultRefresh
@ -52,11 +56,13 @@
{{- end -}}
{{- end -}}
{{ $myArch = "linux-x86_64" }}
{{- with $repo := "extrawurst/gitui" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/gitui" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/gitui-linux-x86_64.tar.gz" $repo $version)
"url" (printf "https://github.com/%s/releases/download/%s/gitui-%s.tar.gz" $repo $version $myArch)
"path" "./gitui"
"executable" true
"refreshPeriod" $defaultRefresh
@ -64,11 +70,13 @@
{{- end -}}
{{- end }}
{{ $myArch = "linux_x86_64" }}
{{- with $repo := "theimpostor/osc" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/osc" (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/osc_linux_x86_64.tar.gz" $repo $version)
"url" (printf "https://github.com/%s/releases/download/%s/osc_%s.tar.gz" $repo $version $myArch)
"path" "osc"
"executable" true
"refreshPeriod" $defaultRefresh
@ -76,11 +84,13 @@
{{- end -}}
{{- end }}
{{ $myArch = "linux-amd64" }}
{{- with $repo := "Lifailon/lazyjournal" -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals ".local/bin/lazyjournal" (dict
"type" "file"
"url" (printf "https://github.com/%s/releases/download/%s/lazyjournal-%s-linux-amd64" $repo $version $version)
"url" (printf "https://github.com/%s/releases/download/%s/lazyjournal-%s-%s" $repo $version $version $myArch)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}