Moved chezmoi data one level down under chezmoi.roots

This commit is contained in:
Lockszmith (Mac@VAST) 2025-04-14 14:05:59 -04:00
parent c34f7ae631
commit de47f0c388
240 changed files with 90 additions and 76 deletions

View file

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

View file

@ -0,0 +1,351 @@
# https://www.chezmoi.io/reference/special-files-and-directories/chezmoiexternal-format/
# The file will be empty (except for this comment) unless CZ_EXTR env variable exists.
#
# The externals are checked based on the refreshPeriod whenever an `apply` (or `update`) operations run
#
# The syntax to update all externals (and nothing else):
# ```sh
# CZ_EXTR=1 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" -}}
{{- if (env "CZ_EXTR") -}}
{{/* Initialize template variables */}}
{{- $myArch := "" -}}
{{- $archive_type := or (get (dict "linux" "tar.gz") .chezmoi.os) "zip" -}}
{{- $archive_type_short := or (get (dict "tar.gz" "tgz") $archive_type) $archive_type -}}
{{- $path_prefix := "" -}}
{{- $externals := dict -}}
{{/*
# valid arch strings:
# aarch64-apple-darwin
# x86_64-apple-darwin
# aarch64-unknown-linux-musl
# x86_64-unknown-linux-musl
*/}}
{{ $myArch = (printf "%s-%s" .sz.os.arch_alt .sz.os.rust_rel_target )}}
{{- with $app_name := "zellij" -}}
{{- with $repo := (printf "%s/%s" "zellij-org" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s.tar.gz" $repo $version $app_name $myArch)
"path" $app_name
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "delta" -}}
{{- with $repo := (printf "%s/%s" "dandavison" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s-%s.tar.gz" $repo $version $app_name $version $myArch)
"path" (printf "%s-%s-%s/%s" $app_name $version $myArch $app_name)
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "atuin" -}}
{{- with $repo := (printf "%s/%s" "atuinsh" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s.tar.gz" $repo $version $app_name $myArch)
"path" (printf "%s-%s/%s" $app_name $myArch $app_name )
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "lsd" -}}
{{- with $repo := (printf "%s/%s" "lsd-rs" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s-%s.tar.gz" $repo $version $app_name $version $myArch)
"path" (printf "%s-%s-%s/%s" $app_name $version $myArch $app_name)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "tv" -}}
{{- with $repo := (printf "%s/%s" "alexpasmantier" "television") -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s-%s.tar.gz" $repo $version $app_name $version $myArch)
"path" (printf "%s-%s-%s/%s" $app_name $version $myArch $app_name)
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "cargo-binstall" -}}
{{- with $repo := (printf "%s/%s" "cargo-bins" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s.full.%s" $repo $version $app_name $myArch $archive_type_short)
"path" $app_name
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- if lookPath "jq" -}}
{{- $path_prefix = or (get (dict "linux" "./") .chezmoi.os) "" -}}
{{- with $app_name := "eza" -}}
{{- with $bin_url := (output "sh" "-c" (
list
"cargo-binstall --log-level debug --dry-run --no-track --no-confirm --json-output"
$app_name
"| jq \".fields | select ( .message == \\\"Downloading package\\\" )\""
| join " ") | fromJson
).url
-}}
{{- with $repo := (printf "%s/%s" "eza-community" $app_name) -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" $bin_url
"path" (printf "%s%s" $path_prefix $app_name)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "vivid" -}}
{{- with $bin_url := (output "sh" "-c" (
list
"cargo-binstall --log-level debug --dry-run --no-track --no-confirm --json-output"
$app_name
"| jq \".fields | select ( .message == \\\"Downloading package\\\" )\""
| join " ") | fromJson
).url
-}}
{{- with $path := trimSuffix ".zip" (trimSuffix ".tgz" (trimSuffix ".tar" (trimSuffix ".gz" (base $bin_url)))) -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" $bin_url
"path" (printf "%s/%s" $path $app_name)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- end -}}
{{/*
# valid arch strings:
# darwin_amd64
# darwin_arm64
# linux_386
# linux_amd64
# linux_arm64
# windows_386
# windows_amd64
# windows_arm64
*/}}
{{- $myArch = (printf "%s_%s" .chezmoi.os .chezmoi.arch) -}}
{{- with $app_name := "gojq" -}}
{{- with $repo := (printf "%s/%s" "itchyny" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" "jq") (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s_%s_%s.%s" $repo $version $app_name $version $myArch $archive_type)
"path" (printf "%s_%s_%s/%s" $app_name $version $myArch $app_name)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "git-credential-oauth" -}}
{{- with $repo := (printf "%s/%s" "hickford" $app_name) -}}
{{- with $version := trimPrefix "v" (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/v%s/%s_%s_%s.tar.gz" $repo $version $app_name $version $myArch)
"path" $app_name
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- with $app_name := "ov" -}}
{{- with $repo := (printf "%s/%s" "noborus" $app_name) -}}
{{- with $version := trimPrefix "v" (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/v%s/%s_%s_%s.zip" $repo $version $app_name $version $myArch)
"path" $app_name
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{/*
# valid arch strings:
# linux-aarch64
# linux-arm
# linux-armv7
# linux-x86_64
# mac-x86
# mac
# win
*/}}
{{- $myArch = or (get (dict "linux" (printf "%s-%s" .chezmoi.os .sz.os.arch_alt)) .chezmoi.os) .sz.os.short }}
{{- with $app_name := "gitui" -}}
{{- with $repo := (printf "%s/%s" "extrawurst" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s.tar.gz" $repo $version $app_name $myArch)
"path" (printf "./%s" $app_name)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{/*
# valid arch strings:
# darwin-amd64
# darwin-arm64
# freebsd-amd64
# freebsd-arm64
# linux-amd64
# linux-arm64
# openbsd-amd64
# openbsd-arm64
# windows-amd64
# windows-arm64
*/}}
{{- $myArch = (print .chezmoi.os "-" .chezmoi.arch) -}}
{{- with $app_name := "lazyjournal" -}}
{{- with $repo := (printf "%s/%s" "Lifailon" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s-%s" $repo $version $app_name $version $myArch)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{- if (not (eq .chezmoi.os "darwin")) -}}
{{- with $app_name := "moar" -}}
{{- with $repo := (printf "%s/%s" "walles" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s-%s" $repo $version $app_name $version $myArch)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}{{- end -}}
{{- $myArch = or (get (dict "darwin" "macos-universal") .chezmoi.os) $myArch }}
{{- with $app_name := "fastfetch" -}}
{{- with $repo := (printf "%s/%s" "fastfetch-cli" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s-%s.tar.gz" $repo $version $app_name $myArch)
"executable" true
"path" (printf "%s-%s/usr/bin/%s" $app_name $myArch $app_name)
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end -}}
{{/*
# valid arch strings:
# Darwin_arm64
# Darwin_x86_64
# Linux_arm64
# Linux_i386
# Linux_x86_64
# Windows_arm64
# Windows_i386
# Windows_x86_64
*/}}
{{- $myArch = .chezmoi.arch -}}
{{- if (eq .chezmoi.os "linux") -}}
{{- $myArch = .sz.os.arch_alt -}}
{{- end -}}
{{- $myArch = (printf "%s_%s" ( .chezmoi.os | title ) $myArch) -}}
{{- with $app_name := "osc" -}}
{{- with $repo := (printf "%s/%s" "theimpostor" $app_name) -}}
{{- with $version := (gitHubLatestRelease $repo).GetTagName -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://github.com/%s/releases/download/%s/%s_%s.tar.gz" $repo $version $app_name $myArch)
"path" $app_name
"executable" true
"refreshPeriod" $defaultRefresh
) -}}
{{- end -}}{{- end -}}{{- end -}}
{{/*
# valid arch strings:
# darwin-amd64
# darwin-arm64
# linux-386
# linux-amd64
# linux-arm64
*/}}
{{- $myArch = (printf "%s-%s" .chezmoi.os .chezmoi.arch) -}}
{{- if and (env "TELEPORT_MAJOR") (not (eq .chezmoi.os "windows")) -}}
{{- with $app_name := "tsh" -}}
{{- with $repo := (printf "%s/%s" "gravitational" "teleport") -}}
{{- with $version := (gitHubReleases $repo | toJson | fromJson | jq (
printf
"map(select(.tag_name | startswith(\"v%s\")))[0] | .tag_name"
(env "TELEPORT_MAJOR"))
| first
) -}}
{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict
"type" "archive-file"
"url" (printf "https://cdn.teleport.dev/teleport-%s-%s-bin.tar.gz" $version $myArch)
"path" (printf "teleport/%s" $app_name)
"executable" true
"refreshPeriod" $defaultRefresh
) -}}{{- end -}}{{- end -}}{{- end }}{{- end -}}
{{- $externals | toYaml -}}
{{- else -}}
# This is a truncated version of .chezmoiexternal because CZ_EXTR env is undefined
{{- end }}
".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 }}"
".config/sz.env/lib/complete-alias":
type: "file"
url: "https://github.com/cykerway/complete-alias/raw/refs/heads/master/complete_alias"
refreshPeriod: "{{ $defaultRefresh }}"
{{ if (and ( eq .chezmoi.os "linux" ) ( ne .chezmoi.osRelease.id "centos" )) -}}
".local/bin/nvim.AppImage":
type: "file"
url: "https://github.com/neovim/neovim/releases/download/stable/nvim-linux-x86_64.appimage"
executable: true
refreshPeriod: "{{ $defaultRefresh }}"
{{- end -}}

View file

@ -0,0 +1,5 @@
/**/.git
/**/.git/**
.config/vim/autoload

View file

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

View file

@ -0,0 +1,24 @@
#!/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

View file

@ -0,0 +1,94 @@
# 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
[init]
defaultBranch = main
[user]
name = {{ .gitName }}
email = {{ .gitEmail }}
# Information on how to set this up:
# https://github.com/hickford/git-credential-oauth?tab=readme-ov-file#git-credential-oauth
[credential]
helper = cache --timeout 21600
helper = oauth
# helper = osxkeychain
# helper = oauth -device
# Raed only OAuth2 authorization
[credential "https://git.vastdata.com"]
oauthClientId = 45fddd19ac1e3828f6caca2087dd78383477f0fc94164920476db536ac618beb
oauthClientSecret = 98958d78931d8f02be1ab9c4fd4f718dcce357be3b609e771ba26f500ddd6196
# oauthScopes = "read_repository write_repository"
oauthScopes = "read_repository"
oauthAuthURL = /oauth/authorize
oauthTokenURL = /oauth/token
oauthDeviceAuthURL = /oauth/authorize_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 = vim
# delta will used as the default pager for git
# and ov as the default pager for delta
# the pager will be overloaded via the [pager] section for a few commands
pager = delta --pager='ov -F'
[pager]
# overload delta pager for some commands
show = delta --pager='ov -F --header 3'
# We are now overloading some commands via "delta features"
# This allows us to use different pager per git command
# It allows to maintain a simpler config file and avoid escaping quotes
diff = delta --features ov-diff
log = delta --features ov-log
[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
file-style = yellow
# we define the delta feature "ov-diff" we are using for git diff
[delta "ov-diff"]
# the idea is to overload the pager used by delta when using git diff
# we are using the same pattern used by delta when the default pager (less) is used
# using ov section feature brings a better experience
pager=ov -F --section-delimiter '^(commit|added:|removed:|renamed:|Δ)' --section-header --pattern '•'
# we define the delta feature "ov-log" we are using for git log
[delta "ov-log"]
# the idea is to overload the pager used by delta when using git log
# using ov section feature brings a better experience
pager=ov -F --section-delimiter '^commit' --section-header-num 3
[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'"

View file

@ -0,0 +1,31 @@
# ~/.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" - )

View file

@ -0,0 +1,11 @@
if has('nvim')
" Neovim-specific settings
set runtimepath+=~/.config/nvim
lua require('_init')
else
" Vim-specific settings
set runtimepath+=~/.config/vim
source ~/.config/vim/_init
endif
" vim: set ft=vim sw=4 sts=4 et:

View file

@ -0,0 +1,8 @@
## 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" - )

View file

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

View file

@ -0,0 +1,37 @@
[General]
Backend = "gist" # specify backend service to sync snippets (gist, ghe or gitlab, default: gist)
cmd = ["sh", "-c"] # specify the command to execute the snippet with
Color = false # enables output coloring with fzf, same as '--color' flag
Column = 40 # column size for list command
Editor = "vim" # your favorite text editor
Format = "[$description]: $command $tags" # controls the format of the output when searching
SelectCmd = "fzf --ansi --layout=reverse --border --height=90% --pointer=* --cycle --prompt=Snippets:" # selector command for edit command (fzf or peco)
SnippetDirs = []
SnippetFile = "/Users/gal.szkolnik/.config/pet/snippet.toml" # specify snippet path
SortBy = "" # specify how snippets get sorted (recency (default), -recency, description, -description, command, -command, output, -output)
[Gist]
file_name = "pet-snippet.toml"
access_token = "" # your access token
gist_id = "" # Gist ID
Public = false # public or priate
auto_sync = false # sync automatically when editing snippets
[GitLab]
file_name = "pet-snippet.toml" # specify GitLab Snippets file name
access_token = "XXXXXXXXXXXXX" # your access token
ID = "" # GitLab Snippets ID
Visibility = "private" # public or internal or private
auto_sync = false # sync automatically when editing snippets
Url = ""
skip_ssl = false
[GHEGist]
Public = false
access_token = ""
auto_sync = false
base_url = ""
file_name = ""
gist_id = ""
upload_url = ""

View file

@ -0,0 +1,18 @@
[[Snippets]]
Description = "shell's nil"
Output = ""
Tag = []
command = ": ;"
[[Snippets]]
Description = "echo"
Output = ""
Tag = []
command = "echo"
[[Snippets]]
Description = "Initialize MacBook Pro connection into TechPort"
Output = ""
Tag = []
command = "lsif\nlsip\npull-vast.id_rsa 0\nvastconnect 192.168.2.2\nauto-copy-ssh-id 192.168.2.2"

View file

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

View file

@ -0,0 +1,9 @@
#!/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
${NO_RESET:+:} reset
export NO_RESET=1
fi

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,12 @@
#!/usr/bin/env -S zsh -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
SZ_NOMUX=${SZ_NOMUX:-0}
if [ "${SZ_NOMUX:-0}" -ne 1 ]; then
[ "$TERM_PROGRAM" != 'vscode' ] \
&& [ "$TERM_PROGRAM" != 'Tabby' ] \
&& [ -z "${VSCODE_PROFILE_INITIALIZED}" ] \
|| SZ_NOMUX=1
fi

View file

@ -0,0 +1,68 @@
#!/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 '. <([ -n "$(echo /etc/*-release(N))" ] && cat /etc/*-release(N) | uniq -u || NAME="$VENDOR" ); 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 interactivecomments # allow # comments in command-line
setopt vi
[[ -n "${DBG}" ]] && echo "ZSH preped"
fi

View file

@ -0,0 +1,31 @@
#!/usr/bin/env -S zsh -c 'echo "Not a user script. source(aka .) only"'
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#""" 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
zinit ice depth=1
zinit light jeffreytse/zsh-vi-mode
[[ -n "${DBG}" ]] && echo "zi ready"

View file

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

View file

@ -0,0 +1,12 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd load-zellij; then
[[ -z "$ZELLIJ_SESSION_NAME" && "${SZ_NOMUX:-0}" -eq '1' ]] \
&& ZELLIJ_SESSION_NAME=__NO_LOAD__
# 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
[[ "$ZELLIJ_SESSION_NAME" == '__NO_LOAD__' ]] && unset ZELLIJ_SESSION_NAME
fi

View file

@ -0,0 +1,37 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
alias _ls='command ls '
{{- if eq .chezmoi.os "darwin" }}
alias ls='_ls -hF --color=auto '
alias l='ls -la '
alias lold='l -t '
alias lnew='l -tr '
{{ else }}
alias ls='_ls -hF --color=auto --group-directories-first '
alias l='ls -la '
alias lold='l --sort=time '
alias lnew='l --sort=time --reverse '
{{- end }}
alias ll='l -A'
alias lu='l -U '
alias sudo='sudo '
is_cmd ov \
&& alias less="ov " \
&& export PAGER=ov
is_cmd moar \
&& alias less="moar " \
&& export PAGER=moar
is_cmd nvim \
&& export VISUAL="nvim" EDITOR="nvim" \
|| export VISUAL="vim" EDITOR="vim"
alias nvim="POSTFIX_BUITINS=1 command $EDITOR -p "
alias vi='nvim '
alias vim='nvim '
alias nvimdiff='nvim -d '
alias vimdiff='nvimdiff '

View file

@ -0,0 +1,24 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
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

View file

@ -0,0 +1,22 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
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

View file

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

View file

@ -0,0 +1,10 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if [ -f "$SZ_ENV_ROOT/lib/complete-alias" ]; then
source "$SZ_ENV_ROOT/lib/complete-alias" --noattach
fi
if [[ -n "${DBG}" && -n "$( command -v _complete_alias )" ]]; then
echo "complete-alias will be loaded."
fi

View file

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

View file

@ -0,0 +1,97 @@
#! /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 -p -- "${@}" 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
FIND_CMD="$( printf "%s " \
"find ~/.config/sz.env -xdev -type d -not -name '*.off'" \
"-exec sh -c '" \
'find "$1" -xdev -maxdepth 1 -type f' \
'-name "ID_*.env" -or -name "ID_*.env.'"${BASE_SHELL}"\" \
"| sort' shell '{}' ';'" \
"-exec sh -c '" \
'find "$1" -xdev -maxdepth 1 -type f' \
'-name "PATH_*.env" -or -name "PATH_*.env.'"${BASE_SHELL}"\" \
"| sort' shell '{}' ';'" \
"-exec sh -c '" \
'find "$1" -xdev -maxdepth 1 -type f' \
'-name "*.env" -or -name "*.env.'"${BASE_SHELL}"\" \
'| grep -Ev "/(PATH|ID)_[^/]+$"' \
"| sort' shell '{}' ';'" \
"-exec sh -c '" \
'find "$1" -xdev -maxdepth 1 -type f -name "PATH_zz_cleanup.env"' \
"' shell '{}' ';'"
)"
ALL_ENV_FILES="$(
eval "$FIND_CMD" | sed -e 's/^/load_next "/; s/$/";/'
)"
${DBG/%1/:} unset FIND_CMD
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"
${DBG/%1/:} unset ALL_ENV_FILES
fi
}
load_all
elif [[ "$1" == '-' ]]; then
echo "BASE_0=${BASE_0}"
cat "${0}"
else
is_cmd "${BASE_0##*/}" && SCRIPT_NAME="${BASE_0##*/}" || SCRIPT_NAME="${BASE_0/$HOME/\~}"
printf '%s\n' \
"It seems '$SCRIPT_NAME' was invoked as a standalone script." \
'This script is designed to produce output that is sourced.' \
'' \
'The recommended way is to use calling pattern below:' \
" $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \
''
fi

View file

@ -0,0 +1,7 @@
#!/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

View file

@ -0,0 +1,22 @@
#!/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

View file

@ -0,0 +1,19 @@
#!/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

View file

@ -0,0 +1,17 @@
#!/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

View file

@ -0,0 +1,11 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd lsd; then
alias _ls="$(command -v lsd) "
alias lg="ll --git "
[[ -n "${DBG}" ]] && echo "assigned lsd as ls alias."
fi

View file

@ -0,0 +1,9 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if is_cmd pet; then
. <( pet completion ${BASE_SHELL} )
[[ -n "${DBG}" ]] && echo "pet loaded."
fi

View file

@ -0,0 +1,13 @@
#!/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

View file

@ -0,0 +1,10 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd vivid && [ -z "$LS_COLORS" ]; then
export LS_COLORS="$(vivid generate alabaster_dark)"
[[ -n "${DBG}" ]] && echo "LS_COLORS loaded with vivid."
fi

View file

@ -0,0 +1,11 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
if is_cmd eza; then
alias _ls="$(command -v eza) --icons "
alias lg="ll --git --git-repos-no-status"
[[ -n "${DBG}" ]] && echo "assigned eza as ls alias."
fi

View file

@ -0,0 +1,12 @@
#!/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

View file

@ -0,0 +1,45 @@
#!/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/' )"
export CHEZMOI_GITHUB_ACCESS_TOKEN={{- .githubToken | quote }}
CZG_ROOT="$(chezmoi git -- rev-parse --show-toplevel)"
alias czg="git --work-tree=$CZG_ROOT --git-dir=$CZG_ROOT/.git "
unset CZG_ROOT
complete -F _complete_alias czg
chezmoi() {
${SET_X:-:} -x
case "$1" in
cd) cd "$(SET_X=':' command chezmoi source-path ${2})" ;;
edit) ${VISUAL:-${EDITOR:-vi}} $(SET_X=':' chezmoi source-path "${@:2}") ;;
source-path) printf '%s\n' "${@:2}" | xargs -r chezmoi source-path ;;
*) command chezmoi "${@}" ;;
esac
${SET_X:-:} +x
}
czcd() { chezmoi cd "${@}"; }
czedext() {
local CZ_EXT="$(find $(command chezmoi source-path) -mindepth 1 -maxdepth 1 -name '.chezmoiexternal.*')"
CZ_EXT="${CZ_EXT:-$(chezmoi source-path "${@}")/.chezmoiexternal.yaml.tmpl}"
"${VISUAL:-${EDITOR:-vi}}" "${CZ_EXT}"
}
czed() {
local EDITLIST=() f _f
for _f in "${@}"; do
[[ -e "$_f" ]] || f="$(which "$_f")"
[[ -z "$f" ]] && is_cmd tv && f="$(tv "$_f")" || f=$_f
EDITLIST=( "${EDITLIST[@]}" "$f" )
done
EDITLIST=("${@}")
chezmoi edit "${EDITLIST[@]}" --apply --interactive
}
alias czx="CZ_EXTR=1 chezmoi "
fi
# vim: set ft=bash sw=4 sts=4 et:

View file

@ -0,0 +1,5 @@
#!/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

View file

@ -0,0 +1,11 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
BASE_SHELL=${BASE_SHELL:-${SHELL##*/}}
if is_cmd tsh && tsh version | grep -q '^Teleport'; then
tsh-login() {
command tsh login --proxy=teleport.vastdata.com "${@}"
}
. <(tsh --completion-script-${BASE_SHELL})
fi

View file

@ -0,0 +1 @@
../../../_src.all/private_dot_config/vim/_init

View file

@ -0,0 +1 @@
../../../_src.all/private_dot_local/bin/.keep

View file

@ -0,0 +1,41 @@
#! /usr/bin/env bash
set -e
REMOTE_HOST=("${@:--}")
if [[ "${#REMOTE_HOST}" -eq 1 && "${REMOTE_HOST[0]}" == '-' ]]; then
read -a REMOTE_HOST
fi
ssh_do() {
local USER="${1}" HOST="${2:?}"
# BLINDLY Trust host keys ( https://stackoverflow.com/a/74410573/799379 )
[ 1 -eq "${NO_REFRESH}" ] || (
ssh-keygen -F "$HOST" &>/dev/null && ssh-keygen -R "$HOST" &>/dev/null
)
ssh-keygen -F "$HOST" &>/dev/null || (
ssh-keyscan -Ht ed25519 "$HOST" || ssh-keyscan -H "$HOST"
) | grep -v '^#' >> "$HOME/.ssh/known_hosts"
SSH_ASKPASS_REQUIRE=never \
ssh \
-o PasswordAuthentication=no \
-o LogLevel=ERROR \
-o BatchMode=yes \
-o ConnectTimeout=2 \
-ttn \
"${USER:+${USER}@}${HOST}" -- "${@:3}" \
|| (printf '\n'; printf 'Exit code: %s\n' "$?" >&2)
}
for _host in "${REMOTE_HOST[@]}"; do
printf '%-40s: ' "$_host"
if ssh_do "" "$_host" hostname &>/dev/null; then
echo "ready"
else
printf 'Attempting to copy SSH key...\n\n'
ssh-copy-id "$_host"
fi
done

View file

@ -0,0 +1,20 @@
#! /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

View file

@ -0,0 +1,38 @@
#! /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

View file

@ -0,0 +1,40 @@
#! /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

View file

@ -0,0 +1,91 @@
#! /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="${BASE_SHELL:-$(basename "$SHELL")}"
if is_sourced; then
zellij-cleanup() {
env which zellij > /dev/null && command -v zellij | grep -E "^$HOME" | ${SUDO:-} xargs -tr rm
[[ -d "$HOME/.cache/zellij" ]] \
&& ${SUDO:-} rm -fR "$HOME/.cache/zellij"
[[ -d "$HOME/Library/Caches/org.Zellij-Contributors.Zellij" ]] \
&& ${SUDO:-} rm -fR "$HOME/Library/Caches/org.Zellij-Contributors.Zellij"
find /tmp -maxdepth 1 -mindepth 1 -type d -name 'zellij*' -print0 | ${SUDO:-} xargs -r0t rm -fR
if [[ -d "$HOME/.cache/zellij" || -d "$HOME/Library/Caches/org.Zellij-Contributors.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 -f zellij-cleanup
fi
}
refresh-zellij() {
${SET_X-:} -x
local bin_path=~/.local/bin/zellij
local cached_path=~/.cache/chezmoi/tmp/zellij
if [ -z "$(env which zellij)" ] && [ -x "${cached_path}" ]; then
printf "Grabbing zellij from the web!\n"
cp "${cached_path}" "${bin_path}"
fi
local cached_path=/tmp/zellij/bootstrap/zellij
if [ -z "$(env which zellij)" ] && ! [ -x "${bin_path}" ]; then
if [[ ! -r "${cached_path}" ]]; then
printf "Grabbing zellij from the web!\n"
bash <(curl -sL zellij.dev/launch) "--help" > /dev/null 2>&1 || true
fi
if [[ -r "${cached_path}" ]]; then
mv "${cached_path}" "${bin_path}"
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-load-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-:} -x
if [[ -n "$(env which zellij)" ]]; then
zellij-load-completion
fi
${SET_X-:} -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
# vim: set ft=sh expandtab tabstop=4 shiftwidth=4:

View file

@ -0,0 +1,123 @@
#! /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

View file

@ -0,0 +1,62 @@
#! /usr/bin/env bash
set -e
SCRIPT_NAME="${0##/*}"
usage() {
printf '%s\n' \
'Search Teleport for an ssh host with an interactive selection' \
'' \
'Usage:' \
" [SILENT=1] [BATCH=1] [QUERY='query syntax'] ${SCRIPT_NAME} <search string>" \
'' \
'Arguments:' \
'' \
'Examples:' \
' $ BATCH=1 tsh-get tesla' \
' cluster_psnt=VAST-TESLA-AUS-1,hostname=aus08p1vstfs01-cn1-DO-NOT-LOGIN' \
' cluster_psnt=VA22374479,hostname=c-0-1' \
' cluster_psnt=VA22465472,hostname=c-0-1' \
'' \
' tsh-get tesla ' \
''
exit 2
}
if [[ $# -eq 0 ]]; then
usage
fi
SILENT=${SILENT:-${BATCH:+1}}
SEARCH="$1"
QUERY="${QUERY:+--query=${QUERY}}"
${SILENT:+:} printf 'Searching for %s...' "$SEARCH" >&2
OPTIONS="$(
tsh ls --search "$SEARCH" ${QUERY} --format json | jq -r ' .[] | (
if .metadata.labels.customer_name
then "customer_name=" + .metadata.labels.customer_name + ","
elif .metadata.labels.Customer
then "Customer=" + .metadata.labels.Customer + ","
else ""
end)
+ "cluster_psnt=\(.metadata.labels.cluster_psnt),"
+ "hostname=\(.spec.hostname)"
'
)"
if [[ -z "$BATCH" && "${OPTIONS}" == *$'\n'* ]]; then
SELECTED="$( tv --no-preview <<<"$OPTIONS" )"
else
SELECTED="$OPTIONS"
fi
if [[ -z "$SELECTED" ]]; then
${SILENT:+:} printf 'Aborted (empty response)\n' >&2
exit 2
fi
${SILENT:+:} printf '\n%s selected.\n' "$SELECTED" >&2
echo "$SELECTED"

View file

@ -0,0 +1,28 @@
#! /usr/bin/env bash
set -e
SCRIPT_NAME="${0##/*}"
usage() {
printf '%s\n' \
'SSH using Teleport with interactive selection and VAST-reasnoble defaults' \
'' \
"${SCRIPT_NAME} " \
'' \
'Usage:' \
''
exit 2
}
if [[ $# -eq 0 ]]; then
usage
fi
SEARCH="$1"
SSHUSER="${SSHUSER:-vastdata}"
TUNNEL="${TUNNEL:+-L ${TUNNEL}}"
TARGET="${SSHUSER}@$(tsh-get "$SEARCH" "$SSHUSER")"
tsh ssh ${TUNNEL} "${TARGET}" "${@:2}"

View file

@ -0,0 +1,47 @@
#! /usr/bin/env bash
set -e
SCRIPT_NAME="${0##*/}"
usage() {
printf '%s\n' \
'Open a tunnel to the VMS external IP' \
'' \
'Usage:' \
" ${SCRIPT_NAME} <search> [ssh args...]" \
'' \
'Env manipulators:' \
' LOCAL_PORT default is 8443' \
' TARGET_PORT default is 443' \
' SSHUSER default is vastdata' \
' VMS default is auto-detected' \
''
exit 2
}
if [[ $# -eq 0 ]]; then
usage
fi
LOCAL_PORT="${LOCAL_PORT:-8443}"
TARGET_PORT="${TARGET_PORT:-443}"
SEARCH="$1"
SSHUSER="${SSHUSER:-vastdata}"
TARGET="${SSHUSER}@$(tsh-get "$SEARCH" "$SSHUSER")"
VMS="${VMS:-"$(tsh ssh "${TARGET}" -- cat /vast/vman/mgmt-vip)"}"
TUNNEL="${LOCAL_PORT}:${VMS}:${TARGET_PORT}"
RUN="${RUN:-}"
if [[ -z "$RUN" && -n "$(command -v zellij)" ]]; then
RUN="zellij run --floating --pinned 'true' --name '${TUNNEL}|${TARGET}|${SEARCH}|${SCRIPT_NAME}' --"
fi
TUNNEL="-L ${LOCAL_PORT}:${VMS}:${TARGET_PORT}"
SSH_OPTS="${SSH_OPTS:--N}"
printf "Executing: %s ...\n" "tsh ssh ${TUNNEL} ${TARGET} ${*:2}" >&2
eval "${RUN} tsh ssh ${SSH_OPTS} ${TUNNEL} '${TARGET}' ${*:2}"

View file

@ -0,0 +1,32 @@
#! /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 "${@}"

View file

@ -0,0 +1,57 @@
#! /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 "${@}"

View file

@ -0,0 +1 @@
nvim.AppImage

View file

@ -0,0 +1 @@
nvim

View file

@ -0,0 +1 @@
nvim

View file

@ -0,0 +1 @@
nvim

View file

@ -0,0 +1 @@
nvim

View file

@ -0,0 +1 @@
../../_src.all/private_dot_ssh/config

View file

@ -0,0 +1 @@
../../../_src.all/private_dot_ssh/config.d/.keep