Compare commits

...

15 Commits

Author SHA1 Message Date
Lockszmith (@VAST) 01143db2bd Add _src.all for shared content 2025-02-25 09:53:02 -05:00
Lockszmith (@VAST) eec1bc0081 .gitconfig: add vastdata gitlab OAuth 2025-02-25 09:37:52 -05:00
Lockszmith (@VAST) dffe727d18 .gitconfig: add comment + prefer vim (more compatible) 2025-02-25 09:37:28 -05:00
Lockszmith (@VAST) be5cc4ea50 macos: add .finicky.js configuration 2025-02-25 09:36:10 -05:00
Lockszmith (@VAST) 02260030a9 fix: zellij should not be loaded in vscode terminal 2025-02-25 09:35:23 -05:00
Lockszmith (@VAST) 125a023c01 fix: error while loading zsh on macos 2025-02-25 09:34:42 -05:00
Lockszmith (@VAST) 9225991e21 macos: add homebrew loading 2025-02-25 09:34:06 -05:00
Lockszmith (@VAST) ed59d36f0a macos env fixes 2025-02-25 09:33:45 -05:00
Lockszmith (@VAST) 33753621fe Add home dir to chemoi vscode workspace 2025-02-25 09:31:09 -05:00
Lockszmith (@VAST) bea637a7a7 separate chezmoiexternals for macos and posix (for now) 2025-02-20 23:58:15 -05:00
Lockszmith (@VAST) 2e17bae9d0 Modified _home.macos 2025-02-20 23:41:12 -05:00
Lockszmith (@VAST) 02bfe0d0dd Added _home.macos 2025-02-20 23:40:55 -05:00
Lockszmith (@VAST) 47f9e8eefb Added _home 2025-02-20 23:38:35 -05:00
Lockszmith (@VAST) 44b03e8724 prepare for symclone.
From now on, _src.posix will be the single source of truth.
And _home(.*) will symlink into it.
2025-02-20 23:34:24 -05:00
GSz (@VAST) 5e26df3f9b Introducing .init.me.sh for multi-machine-architecture support 2025-02-20 22:24:38 -05:00
146 changed files with 1797 additions and 1377 deletions

24
.chezmoi.toml.tmpl Normal file
View File

@ -0,0 +1,24 @@
# This .chezmoi.toml file is used once only
# It collects information about the system in order to determine
# which of the _home.* dirs will be set as the .chezmoiroot
#
{{- $chassisType := "desktop" }}
{{- $sysType := "posix" }}
{{- if eq .chezmoi.os "darwin" }}
{{- $sysType = "macos" }}
{{- if contains "BatteryData" (output "ioreg" "-c" "AppleSmartBattery") }}
{{- $chassisType = "laptop" }}
{{- else }}
{{- $chassisType = "desktop" }}
{{- end }}
{{- else if eq .chezmoi.os "linux" }}
{{- $chassisType = (output "hostnamectl" "--json=short" | mustFromJson).Chassis }}
{{- else if eq .chezmoi.os "windows" }}
{{- $sysType = "windows" }}
{{- $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 }}
[scriptEnv]
CZ_CHASSIS="{{- $chassisType }}"
CZ_SYS="{{- $sysType }}"
CZ_OS="{{- .chezmoi.os }}"

7
.chezmoiignore Normal file
View File

@ -0,0 +1,7 @@
# The content at the root of the repo is for initial detection only.
# Thus, only .chezmoitscripts is required, because it will setup the
# correct .chezmoiroot, where the rest of the content resides.
#
*
! .chezmoiscripts/
! .chezmoiscripts/**

View File

@ -0,0 +1,22 @@
#! /usr/bin/env bash
set -e
#env | grep -E 'chezmoi|^CZ'
cd "$CHEZMOI_SOURCE_DIR"
CZ_MODEL="$(ioreg -l | grep "product-name" | sed -Ee 's/^.*\<"(.*)\"\>.*$/\1/')"
set | grep '^CZ_'
printf 'System detected as %s/%s, setting up .chezmoiroot and initializing...\n' "$CZ_SYS" "$CZ_CHASSIS"
if [ -r "base.chezmoiroot.$CZ_SYS.$CZ_CHASSIS" ]; then
ln -s "base.chezmoiroot.$CZ_SYS.$CZ_CHASSIS" .chezmoiroot
elif [ -r "base.chezmoiroot.$CZ_SYS" ]; then
ln -s "base.chezmoiroot.$CZ_SYS" .chezmoiroot
elif [ -r "base.chezmoiroot.$CZ_CHASSIS" ]; then
ln -s "base.chezmoiroot.$CZ_CHASSIS" .chezmoiroot
else
printf 'Failed to find a matching .chezmoiroot. Aborting!\n'
false
fi
# Brute force remove chezmoistate lock and restart init --apply
exec sh -c 'rm ~/.config/chezmoi/chezmoistate.boltdb && chezmoi init --apply'

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
# .chezmoiroot is generated by .chezmoiscripts/run_onchage_init.sh.tmpl
# during chezmoi init --apply
.chezmoiroot

6
.init.me.sh Executable file
View File

@ -0,0 +1,6 @@
#! /usr/bin/env bash
set -ex
rm -fR ~/.config/chezmoi ~/.local/share/chezmoi/.chezmoiroot
chezmoi init --apply

View File

@ -0,0 +1 @@
../_src.posix/.chezmoi.toml.tmpl

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 }}"

1
_home.macos/.chezmoiignore Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/.chezmoiignore

View File

@ -0,0 +1,3 @@
#! /usr/bin/env bash
printf '_home.macos init\n'

1
_home.macos/dot_bashrc Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_bashrc

View File

@ -0,0 +1,50 @@
// Use https://finicky-kickstart.now.sh to generate basic configuration
// Learn more about configuration options: https://github.com/johnste/finicky/wiki/Configuration
module.exports = {
defaultBrowser: "Browserosaurus",
rewrite: [{
match: () => true, // Execute rewrite on all incoming urls to make this example easier to understand
url: ({ url }) => {
const removeKeysStartingWith = ["utm_", "uta_"]; // Remove all query parameters beginning with these strings
const removeKeys = ["fbclid", "gclid", "si"]; // Remove all query parameters matching these keys
const search = url.search
.split("&")
.map((parameter) => parameter.split("="))
.filter(([key]) => !removeKeysStartingWith.some((startingWith) => key.startsWith(startingWith)))
.filter(([key]) => !removeKeys.some((removeKey) => key === removeKey));
return {
...url,
search: search.map((parameter) => parameter.join("=")).join("&"),
};
},
}],
handlers: [
{
match: [
finicky.matchDomains(/.*\.vastdata.com/)
],
browser: "Google Chrome"
},
{
match: [
finicky.matchDomains(/127\.0\.0\.1/)
],
browser: "DuckDuckGo"
},
{
// Open these in Browserosaurus
match: [
"github.com*",
"open.spotify.com*",
// YouTube
"youtube.com*",
"youtu.be*",
finicky.matchDomains(/.*\.youtube.com/) // use helper function to match on domain only
],
browser: "Browserosaurus"
}
]
}

View File

@ -0,0 +1 @@
../_src.posix/dot_gitconfig.tmpl

1
_home.macos/dot_profile Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_profile

View File

@ -0,0 +1,19 @@
{
"folders": [
{
"name": "chezmoi 🏡",
"path": "../../.local/share/chezmoi"
},
{
"name": "~/.config/chezmoi",
"path": "../../.config/chezmoi"
},
{
"path": "."
},
{
"path": "../.."
}
],
"settings": {}
}

1
_home.macos/dot_zshrc Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_zshrc

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/atuin/config.toml

View File

@ -0,0 +1 @@
../../_src.posix/private_dot_config/starship.toml

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/000_stop_on_non_interactive_sessions.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_home_bin.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_node.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_truestuff.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_zz_cleanup.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_0_perp.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_2_zinit.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_3_completion_system.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aab_zellij.env

View File

@ -0,0 +1,9 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
alias l='ls -lahF --color=auto '
alias lu='l -U '
alias lold='l -t '
alias lnew='l -tr '
alias ll='l -A'
alias sudo='sudo '

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/bbb_bash_preexec.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/bbb_ble.sh.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/broot.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/envman-and-webi.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/executable__.load.sh

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/fix-kubectl.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/fix-nvim.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/zza_atuin.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/zza_starship.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/zzz_bash_post.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/zzz_chezmoi.env

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/zzz_fzf.env.off

View File

@ -0,0 +1,4 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
! [ -x /opt/homebrew/bin/brew ] || \
eval "$(/opt/homebrew/bin/brew shellenv)"

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_local/bin/executable_get-github-release.sh

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_local/bin/executable_load-starship

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_local/bin/executable_load-webi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_local/bin/executable_load-zellij

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_local/bin/executable_update-atuin

View File

@ -1,32 +0,0 @@
{{- $sysname := promptStringOnce . "sysname" "System name" -}}
{{- $sysgroup := promptStringOnce . "sysgroup" "System group" -}}
{{- $sysarea := promptStringOnce . "sysarea" "System area" -}}
{{- $gitEmail := promptStringOnce . "gitEmail" "email address (for git commits)" -}}
{{- $gitName := promptStringOnce . "gitName" "Full name (for git commits)" -}}
[data]
{{- if ($sysname) }}
sysname = {{ $sysname | quote }}
{{- end -}}
{{- if ($sysgroup) }}
sysgroup = {{ $sysgroup | quote }}
{{- end -}}
{{- if ($sysarea) }}
sysarea = {{ $sysarea | quote }}
{{ end -}}
{{ if ($gitEmail) }}
gitEmail = {{ $gitEmail | quote }}
{{- end -}}
{{- if ($gitName) }}
gitName = {{ $gitName | quote }}
{{- end }}
[diff]
# command = "nvim"
# args = ["-d", "{{- "{{ .Destination }}" -}}", "{{- "{{ .Target }}" -}}"]
command = "delta"
args = ["--paging=never", "{{ "{{ .Destination }}" }}", "{{ "{{ .Target }}" }}"]
pager = "delta"

1
_home/.chezmoi.toml.tmpl Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/.chezmoi.toml.tmpl

View File

@ -1,110 +0,0 @@
# 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 -}}
{{- 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)
"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-x86_64-unknown-linux-musl.tar.gz" $repo $version $version)
"path" (printf "delta-%s-x86_64-unknown-linux-musl/delta" $version)
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end -}}
{{- 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)
"path" "git-credential-oauth"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end -}}
{{- 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)
"path" "./gitui"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{- 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)
"path" "osc"
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{- 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)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}
{{- end }}
{{- $externals | toYaml }}
".config/sz.env/lib/ble.sh.curl":
type: "archive"
url: "https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz"
refreshPeriod: "{{ $defaultRefresh }}"
".config/sz.env/lib/delta.themes.gitconfig":
type: "file"
url: "https://raw.githubusercontent.com/dandavison/delta/refs/heads/main/themes.gitconfig"
refreshPeriod: "{{ $defaultRefresh }}"
".config/sz.env/lib/bash-preexec/bash-preexec.sh":
type: "file"
url: "https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh"
refreshPeriod: "{{ $defaultRefresh }}"
".local/bin/nvim.AppImage":
type: "file"
url: "https://github.com/neovim/neovim/releases/download/stable/nvim.appimage"
executable: true
refreshPeriod: "{{ $defaultRefresh }}"

1
_home/.chezmoiexternal.yaml Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/.chezmoiexternal.yaml

View File

@ -1,3 +0,0 @@
/**/.git
/**/.git/**

1
_home/.chezmoiignore Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/.chezmoiignore

View File

@ -0,0 +1 @@
../../_src.posix/.chezmoiscripts/run_once_init.sh.tmpl

View File

@ -1,24 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
[ -z "${DBG_SHRC}" ] || echo "Entered .bashrc"
## Generated for envman. Do not edit.
#[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
#
## Generated by Webi. Do not edit.
#eval "$(webi --init zsh)"
[ -s "$HOME/.config/sz.env/_.load.sh" ] && . <( "$HOME/.config/sz.env/_.load.sh" - )
[ -z "${DBG_SHRC}" ] || echo "Exiting .bashrc"
# This will prevent atuin's setup script from adding itself: atuin init bash
#eval "${SZ_ENV_BASH_LOAD_PREEXEC}"
#if [[ -n "${BLE_VERSION-}" ]]; then
# [[ -n "${DBG}" ]] && echo "attaching ble.sh"
# ble-attach
#fi

1
_home/dot_bashrc Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_bashrc

View File

@ -1,56 +0,0 @@
# This is Git's per-user configuration file.
# It is recommended to edit this using chezmoi:
# cz edit ~/.gitconfig
[include]
path = .config/sz.env/lib/delta.themes.gitconfig
[user]
name = {{ .gitName }}
email = {{ .gitEmail }}
[credential]
helper = cache --timeout 21600
helper = oauth
# helper = oauth -device
[credential "https://code.lksz.me"]
oauthClientId = a4792ccc-144e-407e-86c9-5e7d8d9c3269
oauthAuthURL = /login/oauth/authorize
oauthTokenURL = /login/oauth/access_token
# oauthDeviceAuthURL = /login/oauth/authorize
# oauthDeviceAuthURL = /login/oauth/authorize_device
# oauthScopes = read_repository
[core]
editor = nvim
pager = delta
[init]
defaultBranch = main
[core]
pager = delta
[interactive]
diffFilter = delta --color-only
[delta]
features = colibri
navigate = true # use n and N to move between diff sections
line-numbers = true
side-by-side = true
[diff]
tool = nvimdiff
[difftool]
prompt = false
[difftool "nvimdiff"]
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
[merge]
tool = nvimdiff
conflictstyle = zdiff3
[mergetool]
prompt = true
[mergetool "nvimdiff"]
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\" \"$MERGED\" -c 'wincmd w' -c 'wincmd J'"

1
_home/dot_gitconfig.tmpl Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_gitconfig.tmpl

View File

@ -1,31 +0,0 @@
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
# Generated for envman. Do not edit.
# [ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
[ -s "$HOME/.config/sz.env/_.load.sh" ] && . <( "$HOME/.config/sz.env/_.load.sh" - )

1
_home/dot_profile Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_profile

View File

@ -1,8 +0,0 @@
## Generated for envman. Do not edit.
#[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
#
## Generated by Webi. Do not edit.
#eval "$(webi --init zsh)"
[ -s "$HOME/.config/sz.env/_.load.sh" ] && . <( "$HOME/.config/sz.env/_.load.sh" - )

1
_home/dot_zshrc Symbolic link
View File

@ -0,0 +1 @@
../_src.posix/dot_zshrc

View File

@ -1,142 +0,0 @@
## where to store your database, default is your system data directory
## linux/mac: ~/.local/share/atuin/history.db
## windows: %USERPROFILE%/.local/share/atuin/history.db
# db_path = "~/.history.db"
## where to store your encryption key, default is your system data directory
## linux/mac: ~/.local/share/atuin/key
## windows: %USERPROFILE%/.local/share/atuin/key
# key_path = "~/.key"
## where to store your auth session token, default is your system data directory
## linux/mac: ~/.local/share/atuin/session
## windows: %USERPROFILE%/.local/share/atuin/session
# session_path = "~/.session"
## date format used, either "us" or "uk"
# dialect = "us"
## enable or disable automatic sync
# auto_sync = true
## enable or disable automatic update checks
# update_check = true
## address of the sync server
# sync_address = "http://192.168.222.65"
## how often to sync history. note that this is only triggered when a command
## is ran, so sync intervals may well be longer
## set it to 0 to sync after every command
# sync_frequency = "10m"
## which search mode to use
## possible values: prefix, fulltext, fuzzy, skim
# search_mode = "fuzzy"
## which filter mode to use
## possible values: global, host, session, directory
# filter_mode = "global"
## With workspace filtering enabled, Atuin will filter for commands executed
## in any directory within a git repository tree (default: false)
# workspaces = false
## which filter mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "filter_mode"
## leave unspecified to use same mode set in "filter_mode"
# filter_mode_shell_up_key_binding = "directory"
## which search mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "search_mode"
## leave unspecified to use same mode set in "search_mode"
# search_mode_shell_up_key_binding = "fuzzy"
## which style to use
## possible values: auto, full, compact
# style = "auto"
## the maximum number of lines the interface should take up
## set it to 0 to always go full screen
inline_height = 20
## Invert the UI - put the search bar at the top , Default to `false`
# invert = false
## enable or disable showing a preview of the selected command
## useful when the command is longer than the terminal width and is cut off
show_preview = true
## what to do when the escape key is pressed when searching
## possible values: return-original, return-query
# exit_mode = "return-original"
## possible values: emacs, subl
# word_jump_mode = "emacs"
## characters that count as a part of a word
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
## number of context lines to show when scrolling by pages
# scroll_context_lines = 1
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
## alt-0 .. alt-9
# ctrl_n_shortcuts = false
## prevent commands matching any of these regexes from being written to history.
## Note that these regular expressions are unanchored, i.e. if they don't start
## with ^ or end with $, they'll match anywhere in the command.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# history_filter = [
# "^secret-cmd",
# "^innocuous-cmd .*--secret=.+"
# ]
## prevent commands run with cwd matching any of these regexes from being written
## to history. Note that these regular expressions are unanchored, i.e. if they don't
## start with ^ or end with $, they'll match anywhere in CWD.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# cwd_filter = [
# "^/very/secret/area"
# ]
## Configure the maximum height of the preview to show.
## Useful when you have long scripts in your history that you want to distinguish
## by more than the first few lines.
max_preview_height = 8
## Configure whether or not to show the help row, which includes the current Atuin
## version (and whether an update is available), a keymap hint, and the total
## amount of commands in your history.
show_help = true
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
## 1. AWS key id
## 2. Github pat (old and new)
## 3. Slack oauth tokens (bot, user)
## 4. Slack webhooks
## 5. Stripe live/test keys
# secrets_filter = true
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
enter_accept = false
#[stats]
# Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
common_subcommands = [
"cargo",
"go",
"git",
"npm",
"yarn",
"pnpm",
"kubectl",
"apt"
]
#
# Set commands that should be totally stripped and ignored from stats
#common_prefix = ["sudo"]

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/atuin/config.toml

View File

@ -1,101 +0,0 @@
# Customized, based on tokyo-night
# global prompt configuration ( https://starship.rs/config/#prompt )
format = """
[](#a3aed2)\
$os\
[](bg:#769ff0 fg:#a3aed2)\
$directory\
[](fg:#769ff0 bg:#394260)\
$git_branch\
$git_status\
[](fg:#394260 bg:#212736)\
$nodejs\
$rust\
$golang\
[](fg:#212736 bg:#1d2230)\
$time\
[](fg:#212736 bg:#1d2230)\
$cmd_duration\
$status\
[ ](fg:#1d2230)\
$line_break$character"""
command_timeout = 1500 # milliseconds; default is 500
[profiles]
transient = """
$time\
[](fg:#212736 bg:#1d2230)\
$character"""
[os]
style = "bg:#a3aed2 fg:#090c0c"
disabled = false
# Without NerdFont
#[os.symbols]
#Windows = " Win"
# NerdFont - see https://www.nerdfonts.com/cheat-sheet
[os.symbols]
Windows = " "
[directory]
style = "fg:#e3e5e5 bg:#769ff0"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
[git_branch]
symbol = ""
style = "bg:#394260"
format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
[git_status]
style = "bg:#394260"
format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
[nodejs]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[rust]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[golang]
symbol = ""
style = "bg:#212736"
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#1d2230"
format = '[[  $time ](fg:#a0a9cb bg:#1d2230)]($style)'
[cmd_duration]
min_time = 500 # milliseconds
# nerd font version:
format = 'prev: [[  $duration ](fg:#a0a9cb bg:#1d2230)]($style)'
# General UNICODE font version:
# format = '[[ ⧗ $duration ](fg:#a0a9cb bg:#1d2230)]($style)'
# Emoji version:
# format = '[[ ⌛ $duration ](fg:#a0a9cb bg:#1d2230)]($style)'
[status]
disabled = false
[character]
disabled = false

View File

@ -0,0 +1 @@
../../_src.posix/private_dot_config/starship.toml

View File

@ -1,8 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if [[ ! "$-" =~ i ]]; then
LOAD_EXIT=1
echo "Non interactive session ($-) , stopping load of shell environment" 1>&2
else
reset
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/000_stop_on_non_interactive_sessions.env

View File

@ -1,8 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
function is_truenas() {
local TRUENAS_TARGET="truenas.target"
[ "$(systemctl get-default)" = "$TRUENAS_TARGET" ] \
&& [ "$(systemctl is-active "$TRUENAS_TARGET")" = "active" ]
}

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/ID_truenas_scale.env

View File

@ -1,4 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
PATH="$HOME/bin:$PATH"
PATH="$HOME/.local/bin:$PATH"

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_home_bin.env

View File

@ -1,3 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
export PATH="$HOME/.local/opt/node/bin:$PATH"

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_node.env

View File

@ -1,16 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd midclt && [ -z "$SCALE_POOL" ]; then
export SCALE_POOL=szmedia
export SCALE_POOL="$(midclt call "kubernetes.config" 2>/dev/null | jq -r '.pool')"
[ -n "$SCALE_POOL" ] && [ "$SCALE_POOL" != "null" ] || export SCALE_POOL="$(midclt call "pool.query" 2>/dev/null | jq -r '.[0].name')"
[ -d "/mnt/$SCALE_POOL" ] || unset SCALE_POOL
fi
[ -n "$SCALE_POOL" ] \
&& export SCALE_POOL_ROOT=/mnt/$SCALE_POOL \
&& PATH="$SCALE_POOL_ROOT/_apps.data/_scripts/truestuff:$PATH" \
&& PATH="$SCALE_POOL_ROOT/data/scripts/truestuff:$PATH" \
&& export PATH

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_truestuff.env

View File

@ -1,15 +0,0 @@
#!/usr/bin/env -S sh -c 'echo "Not a user script. source(aka .) only"'
# Remove duplicates from PATH
OLDPATH="$PATH"; NEWPATH=""; colon=""
while [ "${OLDPATH#*:}" != "$OLDPATH" ]; do
entry="${OLDPATH%%:*}"; search=":${OLDPATH#*:}:"
[ "${search#*:"$entry":}" = "$search" ] && [[ -d $entry ]] && NEWPATH="$NEWPATH$colon$entry" && colon=:
OLDPATH="${OLDPATH#*:}"
done
NEWPATH="$NEWPATH:$OLDPATH"
export PATH="$NEWPATH"
unset NEWPATH OLDPATH colon entry search
[[ -n "${DBG}" ]] && echo "${PATH//:/\n}"

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/PATH_zz_cleanup.env

View File

@ -1,67 +0,0 @@
#!/usr/bin/env -S zsh -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if [[ "${BASE_SHELL}" == "zsh" ]]; then
[ -z "$ZSH_CACHE_DIR" ] && export ZSH_CACHE_DIR=$HOME/.cache/zsh
mkdir -p $ZSH_CACHE_DIR/completions
mkdir -p "$HOME/.local/share/zsh/completions"
# Remove duplicates from fpath, and add local completion dir
fpath=( $(
for d in $(
awk '!seen[$0]++' <(
echo "$HOME/.local/share/zsh/completions"
printf '%s\n' $fpath
)
); do
[ -d "$d" ] && echo "$d"
done
) )
skip_global_compinit=1
# # Jump to the bottom of the screen
# SZ_TPUT_END=$(tput cup 9999 0)
# echo $SZ_TPUT_END
PS1="$(zsh -c '. <(cat /etc/*-release | uniq -u); echo "$NAME $VERSION_ID "')| ZSH ${ZSH_VERSION} LOADING >"
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#""" Shell Settings """
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
typeset -g HISTFILE="$HOME/.zsh_history"
typeset -g HISTSIZE=1000000
typeset -g SAVEHIST=$HISTSIZE
typeset -g COMPLETION_WAITING_DOTS="true"
setopt hist_ignore_dups # ignore duplicated commands history list
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES # fix "+[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called" issue
#####################
# SETOPT #
#####################
setopt promptsubst
setopt extended_history # record timestamp of command in HISTFILE
setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE
setopt hist_ignore_all_dups # ignore duplicated commands history list
setopt hist_ignore_space # ignore commands that start with space
setopt hist_verify # show command with history expansion to user before running it
setopt inc_append_history # add commands to HISTFILE in order of execution
setopt share_history # share command history data
setopt always_to_end # cursor moved to the end in full completion
setopt hash_list_all # hash everything before completion
setopt nocompletealiases # no complete alisases - no need for specific compdef for aliases
setopt always_to_end # when completing from the middle of a word, move the cursor to the end of the word
setopt complete_in_word # allow completion from within a word/phrase
setopt nocorrect # spelling correction for commands
setopt list_ambiguous # complete as much of a completion until it gets ambiguous.
setopt auto_cd # changing directories without cd
setopt nolisttypes
setopt listpacked
setopt automenu
setopt vi
[[ -n "${DBG}" ]] && echo "ZSH preped"
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_0_perp.env

View File

@ -1,58 +0,0 @@
#!/usr/bin/env -S zsh -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if [[ "${BASE_SHELL}" == "zsh" ]]; then
# true = install zdharma-continuum/zinit
# false = install z-shell/zi
if false; then
# Auto install zdharma-continuum/zinit
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/bin"
if [[ ! -d "$ZINIT_HOME/.git" ]]; then
print -P "%F{33}▓▒░ %F{220}Installing DHARMA Initiative Plugin Manager (zdharma-continuum/zinit)…%f"
command mkdir -p "$(dirname "$ZINIT_HOME")" \
&& command chmod go-rwX "$(dirname "$ZINIT_HOME")"
command git clone -q --depth=1 --branch "main" \
https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" \
&& print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" \
|| print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
source "${ZINIT_HOME}/zinit.zsh"
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit
### End of Zinit installer's chunk
alias zi='zinit '
[[ -n "${DBG}" ]] && echo "zinit ready"
else
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#""" z-shell/zi """
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# ### Added by z-shell/zi's installer
ZI_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zi/bin"
mkdir -p "$(dirname "$ZI_HOME")"
if [[ ! -d "$ZI_HOME/.git" ]]; then
print -P "%F{33}▓▒░ %F{160}Installing (%F{33}z-shell/zi%F{160})…%f"
command mkdir -p "$(dirname "$ZINIT_HOME")" \
&& command chmod go-rwX "$(dirname "$ZI_HOME")"
command git clone -q --depth=1 --branch "main" \
https://github.com/z-shell/zi.git "$ZI_HOME" \
&& print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" \
|| print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
source "${ZI_HOME}/zi.zsh"
autoload -Uz _zi
(( ${+_comps} )) && _comps[zi]=_zi
# examples here -> https://wiki.zshell.dev/ecosystem/category/-annexes
zicompinit # <- https://wiki.zshell.dev/docs/guides/commands
### End of z-shell/zi installer's chunk
alias zinit=zi
[[ -n "${DBG}" ]] && echo "zi ready"
fi
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_2_zinit.env

View File

@ -1,10 +0,0 @@
#!/usr/bin/env -S zsh -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if [[ "${BASE_SHELL}" == "zsh" ]]; then
autoload -Uz +X compinit bashcompinit && compinit && bashcompinit
zstyle ':completion:*' menu yes select
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_3_completion_system.env

View File

@ -1,8 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd load-zellij; then
# zellij will need to allow reload of the enviornment
[[ -z "$ZELLIJ_SESSION_NAME" ]] && unset SZ_ENV_LOADED
. <( load-zellij - )
[[ -z "$ZELLIJ_SESSION_NAME" ]] && SZ_ENV_LOADED=1
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aab_zellij.env

View File

@ -1,9 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
alias l='ls -lahF --color=auto --group-directories-first '
alias lu='l -U '
alias lold='l --sort=time '
alias lnew='l --sort=time --reverse '
alias ll='l -A'
alias sudo='sudo '

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/aliases.env

View File

@ -1,28 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if [[ "${BASE_SHELL}" == "bash" ]]; then
update-bash-preexec() {
local workdir="$SZ_ENV_ROOT/lib/bash-preexec"
[ -d "$workdir" ] && rm -fR "$workdir"
mkdir -p "$workdir"
cd "$workdir"
# Pull down our file from GitHub and write it to your home directory as a hidden file.
curl https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ./bash-preexec.sh
# Source our file to bring it into our environment
source .bash-preexec.sh
source "$workdir/ble-nightly/ble.sh"
}
# shellcheck disable=SC1091 source=$HOME/.bash-preexec.sh
if [[ -f "$SZ_ENV_ROOT/lib/bash-preexec/.bash-preexec.sh" ]]; then
SZ_ENV_BASH_LOAD_PREEXEC='. "$SZ_ENV_ROOT/lib/bash-preexec/.bash-preexec.sh"'
[[ -n "${DBG}" ]] && echo "Bash-preexec will be loaded."
fi
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/bbb_bash_preexec.env

View File

@ -1,26 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if [[ "${BASE_SHELL}" == "bash" ]]; then
update-ble.sh() {
[[ -n "${DBG}" ]] && set -x
local workdir="$SZ_ENV_ROOT/lib/ble.sh.curl"
[ -d "$workdir" ] && rm -fR "$workdir"
mkdir -p "$workdir"
cd "$workdir"
curl -L https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz | tar xJf -
source "$workdir/ble-nightly/ble.sh"
[[ -n "${DBG}" ]] && set +x
}
if [ -f "$SZ_ENV_ROOT/lib/ble.sh.curl/ble-nightly/ble.sh" ]; then
source "$SZ_ENV_ROOT/lib/ble.sh.curl/ble-nightly/ble.sh" --noattach
fi
if [[ -n "${DBG}" && -n "${BLE_VERSION-}" ]]; then
echo "ble.sh will be loaded."
fi
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/bbb_ble.sh.env

View File

@ -1,6 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd broot; then
source /mnt/szmedia/USERDATA/home/sz/.config/broot/launcher/bash/br
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/broot.env

View File

@ -1,15 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
export ENVMAN_LOAD=''
if [ -s "$HOME/.config/envman/load.sh" ]; then
[[ -n "${DBG}" ]] && echo "Loading envman"
source "$HOME/.config/envman/load.sh"
[[ -n "${DBG}" ]] && echo "${PATH//:/\n}"
fi
if is_cmd webi; then
. <(webi --init "${SHELL##*/}")
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/envman-and-webi.env

View File

@ -1,89 +0,0 @@
#! /usr/bin/env bash
# Helper function
is_sourced() {
if [ -n "$ZSH_VERSION" ]; then
case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac
else # Add additional POSIX-compatible shell names here, if needed.
case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac
fi
return 1; # NOT sourced.
}
BASE_0=${BASE_0:-$0}
BASE_SHELL=$(basename "$SHELL")
is_cmd() {
type -- "${@}" 2> /dev/null 1> /dev/null
}
if is_sourced; then
# shellcheck disable=SC2139 # This expands when defined, not when used.
alias _r="unset DBG; exec $SHELL -l "
# shellcheck disable=SC2139 # This expands when defined, not when used.
alias _rdbg="exec sh -c 'DBG=1 $SHELL -l '"
SZ_ENV_ROOT=$( cd -- "$( dirname -- "${BASE_0}" )" &> /dev/null && pwd )
USER_HOME=$HOME
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
load_next() {
[ "$LOAD_EXIT" != "0" ] && return 1
if [[ -n "${DBG}" ]]; then
echo "Loading ${1}..." 1>&2
#shellcheck disable=SC2086
${DBG/%1/:} 1>&2
fi
#shellcheck source=/dev/null
. "${1}"
}
load_all() {
local ALL_ENV_FILES
if [ -z "$SZ_ENV_LOADED" ]; then
SZ_ENV_LOADED=1
LOAD_EXIT=0
# The following constructs a list of load_next ... commands
ALL_ENV_FILES="$(
find ~/.config/sz.env -xdev -type d -not -name '*.off' \
-exec sh -c '
find "$1" -xdev -maxdepth 1 -type f -name "ID_*.env" | sort
' shell '{}' ';' \
-exec sh -c '
find "$1" -xdev -maxdepth 1 -type f -name "PATH_*.env" | sort
' shell '{}' ';' \
-exec sh -c '
find "$1" -xdev -maxdepth 1 -type f -name "*.env" -not -name "ID_*" -not -name "PATH_*" -print | sort
' shell '{}' ';' \
-exec sh -c '
find "$1" -xdev -maxdepth 1 -type f -name "PATH_zz_cleanup.env"
' shell '{}' ';' \
| sed -e 's/^/load_next "/; s/$/";/'
)"
if [ -n "$DBG_NO_SZ_LOAD" ]; then
ALL_ENV_FILES=$(<<<"$ALL_ENV_FILES" sed -Ee '
/PATH_/!s/^(load_next )/# \1/
')
printf 'Loading limited environment...\n'
fi
# Run the constructed (see above) list
eval "$ALL_ENV_FILES"
fi
}
load_all
elif [[ "$1" == '-' ]]; then
echo "BASE_0=${BASE_0}"
cat "${0}"
else
is_cmd "${BASE_0##*/}" && SCRIPT_NAME="${BASE_0##*/}" || SCRIPT_NAME="${BASE_0/$HOME/\~}"
printf '%s\n' \
"It seems '$SCRIPT_NAME' was invoked as a standalone script." \
'This script is designed to produce output that is sourced.' \
'' \
'The recommended way is to use calling pattern below:' \
" $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \
''
fi

View File

@ -0,0 +1 @@
../../../_src.posix/private_dot_config/sz.env/executable__.load.sh

View File

@ -1,7 +0,0 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd szetup-kubectl4k3s && [ "$(systemctl is-active k3s.service)" = "active" ]; then
. <( szetup-kubectl4k3s - )
[[ -n "${DBG}" ]] && echo "kubectl for k3s setup complete."
fi

Some files were not shown because too many files have changed in this diff Show More