prepare for symclone.
From now on, _src.posix will be the single source of truth. And _home(.*) will symlink into it.
This commit is contained in:
parent
5e26df3f9b
commit
44b03e8724
47 changed files with 58 additions and 0 deletions
|
@ -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,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,3 +0,0 @@
|
|||
/**/.git
|
||||
/**/.git/**
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
printf '_home init\s'
|
|
@ -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,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,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,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,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"]
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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" ]
|
||||
}
|
||||
|
|
@ -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"
|
|
@ -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"
|
|
@ -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
|
||||
|
|
@ -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}"
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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 '
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -1,22 +0,0 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
|
||||
if [[ -x "${CUSTOM_NVIM_PATH:-$HOME/.local/bin/nvim}" ]]; then
|
||||
fix_nvim () {
|
||||
CUSTOM_NVIM_PATH="${CUSTOM_NVIM_PATH:-$HOME/.local/bin/nvim}"
|
||||
printf '%s\n' \
|
||||
"update-alternatives --install /usr/bin/editor editor '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --install /usr/bin/edit edit '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --install /usr/bin/ex ex '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --install /usr/bin/vi vi '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --install /usr/bin/view view '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --install /usr/bin/vim vim '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --install /usr/bin/vimdiff vimdiff '${CUSTOM_NVIM_PATH}' 110" \
|
||||
"update-alternatives --set editor '${CUSTOM_NVIM_PATH}'" \
|
||||
"update-alternatives --set edit '${CUSTOM_NVIM_PATH}'" \
|
||||
"update-alternatives --set ex '${CUSTOM_NVIM_PATH}'" \
|
||||
"update-alternatives --set vi '${CUSTOM_NVIM_PATH}'" \
|
||||
"update-alternatives --set view '${CUSTOM_NVIM_PATH}'" \
|
||||
"update-alternatives --set vim '${CUSTOM_NVIM_PATH}'" \
|
||||
"update-alternatives --set vimdiff '${CUSTOM_NVIM_PATH}'"
|
||||
}
|
||||
fi
|
|
@ -1,19 +0,0 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
|
||||
if is_cmd midclt; then
|
||||
if [ -n "$SCALE_POOL_ROOT" ]; then
|
||||
if [ -e "$SCALE_POOL_ROOT/jailmaker/jlmkr.py" ]; then
|
||||
#alias jlmkr="bash -c '_jlmkr() { $SCALE_POOL_ROOT/jailmaker/jlmkr.py \${@:---help}; }; _jlmkr \$@' "
|
||||
function jlmkr() { sudo VISUAL="${VISUAL:-}" EDITOR="${EDITOR:-}" $SCALE_POOL_ROOT/jailmaker/jlmkr.py "${@:---help}"; }
|
||||
|
||||
jlmkr-zellij() {
|
||||
zellij action go-to-tab-name --create "jailmkr"
|
||||
zellij action new-pane --name "${1:?must pass jail name}@jlmkr" -- sh -ci "reset; sudo $SCALE_POOL_ROOT/jailmaker/jlmkr.py shell --uid ${UID} ${1}"
|
||||
zellij action focus-previous-pane
|
||||
zellij action close-pane
|
||||
}
|
||||
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
|
||||
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
|
||||
|
||||
if is_cmd atuin; then
|
||||
if [[ "${BASE_SHELL}" == "bash" ]] && ! [[ -n "$SZ_ENV_BASH_LOAD_PREEXEC$BLE_VERSION" ]]; then
|
||||
printf '%s\n' \
|
||||
'atuin was found, but bash-preexec or ble.sh are not loaded,' \
|
||||
'to load atuin, first run update-ble.sh or update-bash-preexec ' \
|
||||
'then relaod (_r) the shell.'
|
||||
fi
|
||||
|
||||
. <( atuin init "${BASE_SHELL}" )
|
||||
. <( atuin gen-completions --shell ${BASE_SHELL} )
|
||||
|
||||
[[ -n "${DBG}" ]] && echo "atuin loaded."
|
||||
fi
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
|
||||
if is_cmd load-starship; then
|
||||
. <( load-starship - )
|
||||
[[ -n "${DBG}" ]] && echo "starship loaded."
|
||||
elif [[ -n "${DBG}" ]]; then
|
||||
>&2 printf '%s\n' \
|
||||
'starship is not installed, you can install by running:' \
|
||||
'\tcurl -sS https://starship.rs/install.sh | FORCE=1 BIN_DIR=$HOME/bin sh > /dev/null' \
|
||||
''
|
||||
|
||||
fi
|
||||
|
|
@ -1,12 +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
|
||||
eval "${SZ_ENV_BASH_LOAD_PREEXEC}"
|
||||
if [[ -n "${BLE_VERSION-}" ]]; then
|
||||
[[ -n "${DBG}" ]] && echo "attaching ble.sh"
|
||||
ble-attach
|
||||
fi
|
||||
fi
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
# shellcheck disable=SC1090
|
||||
|
||||
if is_cmd 'chezmoi'; then
|
||||
alias cz="chezmoi "
|
||||
eval "$( chezmoi completion "${SHELL##*/}" | sed -Ee 's/(complete -o default .* chezmoi)/\1 cz/' )"
|
||||
|
||||
czcd() {
|
||||
cd "$(chezmoi source-path "${@}")"
|
||||
}
|
||||
fi
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
|
||||
if ! is_cmd atuin && is_cmd load-fzf; then
|
||||
. <( load-fzf - )
|
||||
fi
|
|
@ -1,20 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
GH_PROJECT="${1}"
|
||||
GH_DL_TAG="${2:-latest}"
|
||||
GH_FILTER="${3:-deb}"
|
||||
if [[ ! "$GH_FILTER" =~ '(' ]]; then
|
||||
GH_FILTER="contains(\"${GH_FILTER}\")"
|
||||
fi
|
||||
SRC_URL=https://api.github.com/repos/${GH_PROJECT}/releases/${GH_DL_TAG}
|
||||
DL_URL=$( \
|
||||
curl -sL curl ${SRC_URL} \
|
||||
| jq -r " \
|
||||
.assets[] \
|
||||
| select(.browser_download_url \
|
||||
| ${GH_FILTER} ) \
|
||||
| .browser_download_url \
|
||||
")
|
||||
[[ -n "$DL_URL" ]] \
|
||||
&& printf "%s\n" $DL_URL \
|
||||
|| return 1 2>/dev/null || exit 1
|
|
@ -1,38 +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")
|
||||
|
||||
if is_sourced; then
|
||||
starship() {
|
||||
if [[ ! -x "$HOME/bin/starship" ]]; then
|
||||
curl -sS https://starship.rs/install.sh | FORCE=1 BIN_DIR="$HOME/bin" sh > /dev/null
|
||||
fi
|
||||
"$HOME/bin/starship" "${@}"
|
||||
}
|
||||
# shellcheck disable=SC1090
|
||||
. <( starship init "$BASE_SHELL" ) 2> /dev/null
|
||||
. <( starship completions ${BASE_SHELL} ) 2> /dev/null
|
||||
|
||||
elif [[ "$1" == '-' ]]; then
|
||||
echo "BASE_0=${BASE_0}"
|
||||
cat "${0}"
|
||||
else
|
||||
SCRIPT_NAME="$BASE_0"
|
||||
printf '%s\n' \
|
||||
"It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \
|
||||
'The easiest way is to call it like this:' \
|
||||
" $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \
|
||||
''
|
||||
fi
|
||||
|
|
@ -1,40 +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")
|
||||
|
||||
if is_sourced; then
|
||||
webi() {
|
||||
if [[ ! -x "${HOME}/.local/bin/webi" ]]; then
|
||||
printf '%s\n' \
|
||||
"webi isn't installed, install by running:" \
|
||||
" curl -sS https://webi.sh/webi | sh"
|
||||
return
|
||||
fi
|
||||
${HOME}/.local/bin/webi "${@}"
|
||||
}
|
||||
if is_cmd webi; then
|
||||
webi
|
||||
fi
|
||||
|
||||
elif [[ "$1" == '-' ]]; then
|
||||
cat "${BASH_SOURCE[0]}"
|
||||
else
|
||||
SCRIPT_NAME="$BASE_0"
|
||||
printf '%s\n' \
|
||||
"It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \
|
||||
'The easiest way is to call it like this:' \
|
||||
" $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \
|
||||
''
|
||||
fi
|
||||
|
|
@ -1,79 +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")
|
||||
|
||||
if is_sourced; then
|
||||
zellij-cleanup() {
|
||||
env which zellij > /dev/null && env which zellij | grep -E "^$HOME" | ${SUDO:-} xargs -tr rm
|
||||
[[ -d "$HOME/.cache/zellij" ]] && echo "$HOME/.cache/zellij" | ${SUDO:-} xargs -tr rm -fR
|
||||
find /tmp -maxdepth 1 -mindepth 1 -type d -name 'zellij*' -print0 | ${SUDO:-} xargs -r0t rm -fR
|
||||
if [[ -d "$HOME/.cache/zellij" ]]; then
|
||||
printf 'Zellij cleanup failed to remove the cache directory, you might still have a zellij session active.\n'
|
||||
else
|
||||
printf 'Zellij has been cleaned up, you can now reinstall it.\n'
|
||||
unset zellij-cleanup
|
||||
fi
|
||||
}
|
||||
refresh-zellij() {
|
||||
${SET:-:} -x
|
||||
if [ -z "$(env which zellij)" ] && ! [ -x ~/.local/bin/zellij ]; then
|
||||
if [[ ! -r /tmp/zellij/bootstrap/zellij ]]; then
|
||||
printf "Grabbing zellij from the web!\n"
|
||||
bash <(curl -sL zellij.dev/launch) "--help" > /dev/null 2>&1 || true
|
||||
fi
|
||||
if [[ -r /tmp/zellij/bootstrap/zellij ]]; then
|
||||
mv /tmp/zellij/bootstrap/zellij ~/.local/bin/zellij
|
||||
rm -fR /tmp/zellij
|
||||
fi
|
||||
fi
|
||||
refresh-zellij() { :; }
|
||||
}
|
||||
zellij() {
|
||||
refresh-zellij
|
||||
if [[ $# -eq 0 ]]; then
|
||||
env zellij attach -c $USER@$(hostname)
|
||||
else
|
||||
env zellij "${@}"
|
||||
fi
|
||||
}
|
||||
zellij-completion() {
|
||||
if [[ "${BASE_SHELL}" == "zsh" ]]; then
|
||||
type _zellij > /dev/null \
|
||||
|| . <( env zellij setup --generate-completion zsh | sed -Ee 's/^(_(zellij) ).*/compdef \1\2/' )
|
||||
else
|
||||
. <( env zellij setup --generate-completion "$BASE_SHELL" )
|
||||
fi
|
||||
}
|
||||
${SET:-:} -x
|
||||
if [[ -n "$(env which zellij)" ]]; then
|
||||
zellij-completion
|
||||
fi
|
||||
${SET:-:} -x
|
||||
# Was needed when zsh would load
|
||||
# . <( zellij setup --generate-completion "$BASE_SHELL" | sed -ne '/^function/,$p' )
|
||||
if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then
|
||||
zellij attach -c $USER@$(hostname)
|
||||
fi
|
||||
|
||||
elif [[ "$1" == '-' ]]; then
|
||||
cat "${BASH_SOURCE[0]}"
|
||||
else
|
||||
SCRIPT_NAME="$BASE_0"
|
||||
printf '%s\n' \
|
||||
"It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \
|
||||
'The easiest way is to call it like this:' \
|
||||
" $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \
|
||||
''
|
||||
fi
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
# shellcheck disable=SC2034,SC1090
|
||||
# SC2034 variables appear unsued. export if used externally
|
||||
# - uneeded, as this checked whether script is sourced
|
||||
# SC1090 Can't follow non-constant source
|
||||
|
||||
# Use basename instead of ${0:##*/} to be POSIX compliant
|
||||
# Some shells return -<name> in $0 when sourced, ${0#-} drops that initial dash
|
||||
BASE_0=${BASE_0:-$(basename -- "${0#-}")}
|
||||
SCRIPT_DIR=${SCRIPT_DIR:-"$( cd -- "$( dirname -- "$0" )" &> /dev/null && pwd )"}
|
||||
BASE_SHELL=$(basename "$SHELL")
|
||||
|
||||
# Helper function
|
||||
is_sourced() {
|
||||
DBG_="$(
|
||||
printf '\n\t\t%-12s%s' '$0:' "$0" BASE_0: "$BASE_0" BASE_SHELL: "$BASE_SHELL"
|
||||
)"
|
||||
if [ -n "$ZSH_VERSION" ]; then
|
||||
case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac
|
||||
else
|
||||
case "$(basename -- "${0}")" in $BASE_SHELL|-$BASE_SHELL) return 0;; esac
|
||||
fi
|
||||
return 1; # NOT sourced.
|
||||
}
|
||||
|
||||
if [[ "$1" == '-' ]]; then
|
||||
printf 'BASE_0="%s"\nSCRIPT_DIR=%s\n' "${BASE_0}" "${SCRIPT_DIR}"
|
||||
cat "${BASH_SOURCE[0]}"
|
||||
elif is_sourced; then
|
||||
# This part is sourced, and might run in a non-bash shell
|
||||
DBG_="Is Sourced"
|
||||
USER_HOME=$HOME
|
||||
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
|
||||
|
||||
[[ -n "$KUBECONFIG" && -r "$KUBECONFIG" ]] || unset KUBECONFIG
|
||||
|
||||
[[ ! -r "$HOME/.kube/config" ]] \
|
||||
|| export KUBECONFIG="${KUBECONFIG:-$HOME/.kube/config}"
|
||||
|
||||
if [[ -z "$KUBECONFIG" && -z "$FIX_KUBECTL_RECALL" ]]; then
|
||||
(unset kubectl 2>/dev/null) || (unalias kubectl 2>/dev/null) || true
|
||||
|
||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
fi
|
||||
|
||||
(unset kubectl-fix 2> /dev/null) || true
|
||||
|
||||
DBG_="Check if k3s exists, but kubectl isn't available"
|
||||
if (type 'k3s' >/dev/null 2>&1) && ! (type 'kubectl' >/dev/null 2>&1); then
|
||||
DBG_="Define kubectl"
|
||||
if [[ -r "${KUBECONFIG}" ]]; then
|
||||
kubectl() { k3s kubectl "${@}"; }
|
||||
elif [[ -n "${KUBECONFIG}" && -e "${KUBECONFIG}" ]]; then
|
||||
eval "
|
||||
kubectl-fix() {
|
||||
mkdir \"$HOME/.kube\" -p
|
||||
if [[ -e \"\${KUBECONFIG}\" && ! -r \"$HOME/.kube/config\" ]]; then
|
||||
sudo install --mod 600 --owner \"$USER\" \"\${KUBECONFIG}\" \"$HOME/.kube/config\"
|
||||
unset KUBECONFIG
|
||||
fi
|
||||
FIX_KUBECTL_RECALL=1 . \"${SCRIPT_DIR}/${BASE_0}\"
|
||||
}"
|
||||
printf '%s\n' \
|
||||
"KUBECONFIG[${KUBECONFIG}] exsits, but is unreadable." \
|
||||
'Run kubectl-fix (which will invoke sudo) to fix'
|
||||
fi
|
||||
fi
|
||||
|
||||
if (type 'kubectl' >/dev/null 2>&1); then
|
||||
|
||||
. <( kubectl completion "${BASE_SHELL}" )
|
||||
|
||||
if (type 'kubectl-cnpg' >/dev/null 2>&1 ); then
|
||||
. <( kubectl cnpg completion "${BASE_SHELL}" )
|
||||
fi
|
||||
if ! (type 'kubectl-cnpg' >/dev/null 2>&1) || [[ -n "$UPGRADE" ]]; then
|
||||
DL_VER=1.22.0
|
||||
GH_URL=https://github.com/cloudnative-pg/cloudnative-pg
|
||||
DL_FILE="kubectl-cnpg_${DL_VER}_linux_x86_64.deb"
|
||||
URL=${GH_URL}/releases/download/v${DL_VER}/${DL_FILE}
|
||||
printf '%s\n' \
|
||||
'To download and install cnpg kubectl plugin, run:' \
|
||||
" curl -sSLO ${URL}" \
|
||||
" sudo dpkg -i $DL_FILE"
|
||||
fi
|
||||
|
||||
if ! (type 'kubetui' >/dev/null 2>&1) || [[ -n "$UPGRADE" ]]; then
|
||||
DL_VER=1.5.0
|
||||
GH_URL=https://github.com/sarub0b0/kubetui
|
||||
DL_FILE=kubetui-x86_64-unknown-linux-musl-rustls
|
||||
URL=${GH_URL}/releases/download/v${DL_VER}/${DL_FILE}
|
||||
printf '%s\n' \
|
||||
'To download and install kubetui, run:' \
|
||||
" curl -sSL ${URL} > ~/bin/kubetui" \
|
||||
" chmod +x ~/bin/kubetui"
|
||||
fi
|
||||
|
||||
if ! (type 'k9s' >/dev/null 2>&1) || [[ -n "$UPGRADE" ]]; then
|
||||
printf '%s\n' \
|
||||
'To download and install k9s, run:' \
|
||||
" curl -sS https://webinstall.dev/k9s | bash"
|
||||
fi
|
||||
|
||||
if (type 'k3s' >/dev/null 2>&1 ); then
|
||||
. <( k3s completion "${SHELL##*/}" )
|
||||
fi
|
||||
|
||||
if (type 'helm' >/dev/null 2>&1); then
|
||||
. <( helm completion "${SHELL##*/}" 2>/dev/null )
|
||||
fi
|
||||
|
||||
kg() {
|
||||
kubectl get "${NS:+--namespace=}${NS:---all-namespaces}" "${@:-pods}" | { sed -u 1q; sort; }
|
||||
}
|
||||
fi
|
||||
else
|
||||
SCRIPT_NAME="$BASE_0"
|
||||
printf '%s\n' \
|
||||
"It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \
|
||||
'The easiest way is to call it like this:' \
|
||||
" $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \
|
||||
''
|
||||
fi
|
|
@ -1,32 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
BASE_0=${BASE_0:-$0}
|
||||
BASE_SHELL=$(basename "$SHELL")
|
||||
|
||||
#! /usr/bin/env bash
|
||||
|
||||
_update-atuin() { (
|
||||
set -e
|
||||
|
||||
local LatestURL="$(
|
||||
get-github-release.sh \
|
||||
atuinsh/atuin \
|
||||
latest atuin-x86_64-unknown-linux-musl.tar.gz \
|
||||
| grep -E 'tar\.gz$'
|
||||
)"
|
||||
local dlPath="$(mktemp --directory --suffix atuin)"
|
||||
local appPath="$HOME/.local/bin"
|
||||
printf 'Downloading from %s... ' "${LatestURL#*/download/}"
|
||||
curl -sLO --output-dir "$dlPath" "$LatestURL" && printf 'Done'
|
||||
printf '\n'
|
||||
( cd "$dlPath"; curl -sL "$LatestURL.sha256" | sha256sum --check )
|
||||
( cd "$appPath"; tar zxf "$dlPath"/*.tar.gz --strip-components=1 --no-anchored 'atuin' )
|
||||
rm -R "$dlPath"
|
||||
|
||||
printf '%s\n' \
|
||||
'atuin binary installed, please restart you shell'
|
||||
); }
|
||||
|
||||
_update-atuin "${@}"
|
|
@ -1,57 +0,0 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
BASE_0=${BASE_0:-$0}
|
||||
BASE_SHELL=$(basename "$SHELL")
|
||||
|
||||
_update-nvim() {
|
||||
local LatestURL="$(get-github-release.sh \
|
||||
neovim/neovim latest appimage \
|
||||
| grep appimage\$
|
||||
)"
|
||||
local appDir="${HOME}/.local/bin"
|
||||
if [ "$USER" = "root" ]; then
|
||||
appDir="${HOME}/usr-local-bin"
|
||||
while umount --types overlay /usr/local/bin 2>/dev/null; do
|
||||
:
|
||||
done
|
||||
mkdir -pm 755 "$appDir" \
|
||||
&& mount -t overlay overlay -o "lowerdir=$appDir:/usr/local/bin" /usr/local/bin
|
||||
update-alternatives --remove vim.tiny /usr/bin/vim.tiny
|
||||
fi
|
||||
local appPath="${appDir}/nvim.AppImage"
|
||||
|
||||
rm "${appDir}/"{nvim.AppImage,nvim,vi,vim,vim.tiny,vimdiff} 2>/dev/null || true
|
||||
|
||||
printf 'Downloading from %s... ' "${LatestURL#*/download/}"
|
||||
curl -sLo "$appPath" "$LatestURL" && printf 'Done'
|
||||
printf '\n'
|
||||
chmod +x "$appPath"
|
||||
|
||||
ln -rs "$appPath" "${appDir}/nvim"
|
||||
ln -rs "$appPath" "${appDir}/vi"
|
||||
ln -rs "$appPath" "${appDir}/vim"
|
||||
ln -rs "$appPath" "${appDir}/vim.tiny"
|
||||
ln -rs "$appPath" "${appDir}/vimdiff"
|
||||
|
||||
if [ "$USER" = "root" ]; then
|
||||
update-alternatives --install /usr/bin/editor editor "$appPath" 110
|
||||
update-alternatives --install /usr/bin/edit edit "$appPath" 110
|
||||
update-alternatives --install /usr/bin/ex ex "$appPath" 110
|
||||
update-alternatives --install /usr/bin/vi vi "$appPath" 110
|
||||
update-alternatives --install /usr/bin/view view "$appPath" 110
|
||||
update-alternatives --install /usr/bin/vim vim "$appPath" 110
|
||||
update-alternatives --install /usr/bin/vimdiff vimdiff "$appPath" 110
|
||||
update-alternatives --set editor "$appPath"
|
||||
update-alternatives --set edit "$appPath"
|
||||
update-alternatives --set ex "$appPath"
|
||||
update-alternatives --set vi "$appPath"
|
||||
update-alternatives --set view "$appPath"
|
||||
update-alternatives --set vim "$appPath"
|
||||
update-alternatives --set vimdiff "$appPath"
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
_update-nvim "${@}"
|
|
@ -1 +0,0 @@
|
|||
nvim.AppImage
|
|
@ -1 +0,0 @@
|
|||
nvim
|
|
@ -1 +0,0 @@
|
|||
nvim
|
|
@ -1 +0,0 @@
|
|||
nvim
|
|
@ -1 +0,0 @@
|
|||
nvim
|
Loading…
Add table
Add a link
Reference in a new issue