diff --git a/home/.chezmoi.toml.tmpl b/home/.chezmoi.toml.tmpl index 1522d38..248ca92 100644 --- a/home/.chezmoi.toml.tmpl +++ b/home/.chezmoi.toml.tmpl @@ -1,3 +1,9 @@ +{{- /* Detect if running in WSL first (needed for chassis detection) */ -}} +{{- $wsl := false -}} +{{- if eq .chezmoi.os "linux" -}} +{{- $wsl = (.chezmoi.kernel.osrelease | lower | contains "microsoft") -}} +{{- end -}} + {{- /* Detect chassis type (likely: laptop | desktop | container) */ -}} {{- /* Chassis type mapping: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf */ -}} {{- $chassisType := "desktop" }} @@ -7,7 +13,7 @@ {{- else }} {{- $chassisType = "desktop" }} {{- end }} -{{- else if eq .chezmoi.os "linux" }} +{{- else if and (eq .chezmoi.os "linux") (not $wsl) }} {{- $chassisRaw := output "cat" "/sys/class/dmi/id/chassis_type" | trim }} {{- if or (eq $chassisRaw "8") (eq $chassisRaw "9") (eq $chassisRaw "10") (eq $chassisRaw "14") }} {{- $chassisType = "laptop" }} @@ -16,7 +22,7 @@ {{- else }} {{- $chassisType = "desktop" }} {{- end }} -{{- else if eq .chezmoi.os "windows" }} +{{- else if or (eq .chezmoi.os "windows") $wsl }} {{- $chassisType = (output "powershell.exe" "-NoProfile" "-NonInteractive" "-Command" "if ((Get-CimInstance -Class Win32_Battery | Measure-Object).Count -gt 0) { Write-Output 'laptop' } else { Write-Output 'desktop' }") | trim }} {{- end }} @@ -34,11 +40,7 @@ {{- $cpuThreads = (output "powershell.exe" "-NoProfile" "-NonInteractive" "-Command" "(Get-CimInstance -ClassName 'Win32_Processor').NumberOfLogicalProcessors") | trim | atoi }} {{- end -}} -{{- /* Detect if running in WSL */ -}} -{{- $wsl := false -}} -{{- if eq .chezmoi.os "linux" -}} -{{- $wsl = (.chezmoi.kernel.osrelease | lower | contains "microsoft") -}} -{{- end -}} + encryption = "age" diff --git a/home/.chezmoitemplates/scripts/commonrc.fish.tmpl b/home/.chezmoitemplates/scripts/commonrc.fish.tmpl index 9521feb..b9342e8 100644 --- a/home/.chezmoitemplates/scripts/commonrc.fish.tmpl +++ b/home/.chezmoitemplates/scripts/commonrc.fish.tmpl @@ -88,6 +88,9 @@ test -d $HOME/.opencode/bin && set -a paths_to_add $HOME/.opencode/bin # pulumi test -d $HOME/.pulumi/bin && set -a paths_to_add $HOME/.pulumi/bin +# humanlog +test -d $HOME/.humanlog/bin && set -a paths_to_add $HOME/.humanlog/bin + # dotnet if test -d $HOME/.dotnet set -gx DOTNET_ROOT $HOME/.dotnet @@ -102,6 +105,10 @@ end # Batch add all collected paths (single PATH reconstruction instead of 17+ calls) test -n "$paths_to_add[1]" && fish_add_path $paths_to_add +# foundry (appended to PATH - lower priority) +if test -d $HOME/.foundry/bin + set -gx PATH $PATH $HOME/.foundry/bin +end # Note: Fish uses mise (via conf.d/mise.fish) for unified version management. # Bash uses mise as well, falling back to legacy managers if needed. diff --git a/home/.chezmoitemplates/scripts/commonrc.sh.tmpl b/home/.chezmoitemplates/scripts/commonrc.sh.tmpl index f9b326b..cebf1dd 100644 --- a/home/.chezmoitemplates/scripts/commonrc.sh.tmpl +++ b/home/.chezmoitemplates/scripts/commonrc.sh.tmpl @@ -84,6 +84,12 @@ esac # Pulumi (Infrastructure as Code) [ -d "$HOME/.pulumi/bin" ] && export PATH="$PATH:$HOME/.pulumi/bin" +# humanlog (JSON log formatting) +[ -d "$HOME/.humanlog/bin" ] && export PATH="$PATH:$HOME/.humanlog/bin" + +# Foundry (Ethereum development framework - appended to PATH) +[ -d "$HOME/.foundry/bin" ] && export PATH="$PATH:$HOME/.foundry/bin" + # .NET SDK if [ -d "$HOME/.dotnet" ]; then export DOTNET_ROOT="$HOME/.dotnet" diff --git a/home/dot_config/fish/fish_plugins b/home/dot_config/fish/fish_plugins.tmpl similarity index 56% rename from home/dot_config/fish/fish_plugins rename to home/dot_config/fish/fish_plugins.tmpl index ec4bc0a..2d81c61 100644 --- a/home/dot_config/fish/fish_plugins +++ b/home/dot_config/fish/fish_plugins.tmpl @@ -2,4 +2,6 @@ jorgebucaran/fisher ilancosman/tide@v6 patrickf1/fzf.fish +{{- if stat (joinPath .chezmoi.homeDir ".sdkman") }} reitzig/sdkman-for-fish +{{- end }}