diff --git a/.local/share/chezmoi/home/.chezmoi.yaml.tmpl b/.local/share/chezmoi/home/.chezmoi.yaml.tmpl index 70efe4d1..0813f7f6 100644 --- a/.local/share/chezmoi/home/.chezmoi.yaml.tmpl +++ b/.local/share/chezmoi/home/.chezmoi.yaml.tmpl @@ -20,6 +20,7 @@ {{- $slackApiToken := (default "" (env "SLACK_API_TOKEN")) -}} {{- $tabbyConfigId := (default "" (env "TABBY_CONFIG_ID")) -}} {{- $tabbySyncToken := (default "" (env "TABBY_SYNC_TOKEN")) -}} +{{- $tailscaleAuthKey := (default "" (env "TAILSCALE_AUTH_KEY")) -}} {{- $timezone := (default "America/New_York" (env "TIMEZONE")) -}} {{- $toolchains := list "CLI-Extras" "Docker" "Go" "Kubernetes" "Web-Development" -}} {{- $desktopSession := true -}} @@ -160,6 +161,9 @@ {{- if not (env "TABBY_SYNC_TOKEN") -}} {{- $tabbySyncToken = promptStringOnce $data.user "tabbySyncToken" "Tabby Sync token" $tabbySyncToken -}} {{- end -}} +{{- if not (env "TAILSCALE_AUTH_KEY") -}} +{{- $tailscaleAuthKey = promptStringOnce $data.user "tailscaleAuthKey" "Tailscale authentication key" $tailscaleAuthKey -}} +{{- end -}} {{- else -}} {{- $headless = true -}} @@ -224,6 +228,7 @@ data: SNAPCRAFT_EMAIL: "{{ $email }}" TABBY_CONFIG_ID: "{{ $tabbyConfigId }}" TABBY_SYNC_TOKEN: "{{ $tabbySyncToken }}" + TAILSCALE_AUTH_KEY: "{{ $tailscaleAuthKey }}" TINYPNG_API_KEY: "g355tx7dxG5yJfl0RXJnpQlQqk88dJBv" diff: format: "git" diff --git a/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_18-install-sdkman b/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_18-install-sdkman new file mode 100644 index 00000000..60fde637 --- /dev/null +++ b/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_18-install-sdkman @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +{{- includeTemplate "universal/profile" }} +{{- includeTemplate "universal/logg" }} + +### Ensure SDKMan is installed (https://sdkman.io/) +if [ ! -d "$SDKMAN_DIR" ]; then + logg info 'Installing SDKMan via `curl -s "https://get.sdkman.io" | bash`' + logg info "Install directory: $SDKMAN_DIR" + curl -s "https://get.sdkman.io" | bash +else + logg info 'SDKMan appears to already be installed.' +fi diff --git a/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale b/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale new file mode 100644 index 00000000..9430ffd3 --- /dev/null +++ b/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +### Connect to Tailscale network +if command -v tailscale > /dev/null && [ "{{ .user.TAILSCALE_AUTH_KEY }}" != "" ]; then + logg info 'Connecting to Tailscale with user-defined authentication key' + tailscale up --authkey={{ .user.TAILSCALE_AUTH_KEY }} && logg success 'Connected to Tailscale network' +fi diff --git a/.local/share/chezmoi/software.yml b/.local/share/chezmoi/software.yml index 65327fb9..ef0a8079 100644 --- a/.local/share/chezmoi/software.yml +++ b/.local/share/chezmoi/software.yml @@ -5418,14 +5418,27 @@ softwarePackages: github: github.com/lukehaas/RunJS yay: runjs-bin rust: - _bin: null + _bin: rustc _desc: '[Rust](https://www.rust-lang.org/) is a multi-paradigm programming language designed for performance and safety, especially safe concurrency.' _docs: https://www.rust-lang.org/learn _github: https://github.com/rust-lang/rust _home: https://www.rust-lang.org/ _name: Rust - _service: null + _service: false ansible: professormanhattan.rust + apt: + - cargo + - rustc + brew: rust + choco: rust + dnf: + - cargo + - rust + pacman: rust + port: + - cargo + - rust + scoop: rust rvm: _bin: null _desc: '[rvm](https://rvm.io/) lets you manage Ruby environments and switch between them.' @@ -5573,7 +5586,7 @@ softwarePackages: pacman: sd pkg: sd sdkman: - _bin: null + _bin: sdkman _desc: '[SDKMAN](https://sdkman.io/) is a tool for managing multiple versions of various Software Development Kits (SDKs) for the JVM on any UNIX-based system. It provides a convenient command line interface for installing, switching, removing and listing candidates. With SDKMAN, you can install and manage dependencies like Java, Groovy, Scala, Kotlin, and Ceylon. You can also use it to manage Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x, and many [other SDKs](https://sdkman.io/sdks).' _docs: https://sdkman.io/install _github: https://github.com/sdkman/sdkman-cli