mirror of
https://github.com/Xevion/dotfiles.git
synced 2026-01-30 22:24:06 -06:00
config: make fish_plugins conditional and add PATH entries
- Convert fish_plugins to template with conditional sdkman plugin - Add humanlog and foundry to PATH in commonrc scripts - Fix WSL chassis detection by moving WSL check earlier
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -2,4 +2,6 @@
|
||||
jorgebucaran/fisher
|
||||
ilancosman/tide@v6
|
||||
patrickf1/fzf.fish
|
||||
{{- if stat (joinPath .chezmoi.homeDir ".sdkman") }}
|
||||
reitzig/sdkman-for-fish
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user