Compare commits
15 Commits
53c62408d8
...
01143db2bd
Author | SHA1 | Date |
---|---|---|
![]() |
01143db2bd | |
![]() |
eec1bc0081 | |
![]() |
dffe727d18 | |
![]() |
be5cc4ea50 | |
![]() |
02260030a9 | |
![]() |
125a023c01 | |
![]() |
9225991e21 | |
![]() |
ed59d36f0a | |
![]() |
33753621fe | |
![]() |
bea637a7a7 | |
![]() |
2e17bae9d0 | |
![]() |
02bfe0d0dd | |
![]() |
47f9e8eefb | |
![]() |
44b03e8724 | |
![]() |
5e26df3f9b |
|
@ -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 }}"
|
|
@ -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/**
|
|
@ -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'
|
|
@ -0,0 +1,3 @@
|
|||
# .chezmoiroot is generated by .chezmoiscripts/run_onchage_init.sh.tmpl
|
||||
# during chezmoi init --apply
|
||||
.chezmoiroot
|
|
@ -0,0 +1,6 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
rm -fR ~/.config/chezmoi ~/.local/share/chezmoi/.chezmoiroot
|
||||
chezmoi init --apply
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoi.toml.tmpl
|
|
@ -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 }}"
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiignore
|
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
printf '_home.macos init\n'
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_bashrc
|
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_gitconfig.tmpl
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_profile
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"folders": [
|
||||
{
|
||||
"name": "chezmoi 🏡",
|
||||
"path": "../../.local/share/chezmoi"
|
||||
},
|
||||
{
|
||||
"name": "~/.config/chezmoi",
|
||||
"path": "../../.config/chezmoi"
|
||||
},
|
||||
{
|
||||
"path": "."
|
||||
},
|
||||
{
|
||||
"path": "../.."
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_zshrc
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/atuin/config.toml
|
|
@ -0,0 +1 @@
|
|||
../../_src.posix/private_dot_config/starship.toml
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/000_stop_on_non_interactive_sessions.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_home_bin.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_node.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_truestuff.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_zz_cleanup.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_0_perp.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_2_zinit.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_3_completion_system.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aab_zellij.env
|
|
@ -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 '
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/bbb_bash_preexec.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/bbb_ble.sh.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/broot.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/envman-and-webi.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/executable__.load.sh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/fix-kubectl.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/fix-nvim.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_atuin.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_starship.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_bash_post.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_chezmoi.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_fzf.env.off
|
|
@ -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)"
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_get-github-release.sh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_load-starship
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_load-webi
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_load-zellij
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_update-atuin
|
|
@ -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"
|
||||
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoi.toml.tmpl
|
|
@ -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 }}"
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiexternal.yaml
|
|
@ -1,3 +0,0 @@
|
|||
/**/.git
|
||||
/**/.git/**
|
||||
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiignore
|
|
@ -0,0 +1 @@
|
|||
../../_src.posix/.chezmoiscripts/run_once_init.sh.tmpl
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_bashrc
|
|
@ -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'"
|
||||
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_gitconfig.tmpl
|
|
@ -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" - )
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_profile
|
|
@ -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" - )
|
||||
|
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_zshrc
|
|
@ -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"]
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/atuin/config.toml
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../_src.posix/private_dot_config/starship.toml
|
|
@ -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
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/000_stop_on_non_interactive_sessions.env
|
|
@ -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" ]
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/ID_truenas_scale.env
|
|
@ -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"
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_home_bin.env
|
|
@ -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"
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_node.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_truestuff.env
|
|
@ -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}"
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_zz_cleanup.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_0_perp.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_2_zinit.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_3_completion_system.env
|
|
@ -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
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aab_zellij.env
|
|
@ -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 '
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aliases.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/bbb_bash_preexec.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/bbb_ble.sh.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/broot.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/envman-and-webi.env
|
|
@ -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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/executable__.load.sh
|
|
@ -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
Loading…
Reference in New Issue