Moved chezmoi data one level down under chezmoi.roots
This commit is contained in:
parent
c34f7ae631
commit
de47f0c388
240 changed files with 90 additions and 76 deletions
9
chezmoi.roots/README.md
Normal file
9
chezmoi.roots/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# README.md of chezmoi repo
|
||||
|
||||
This is my chezmoi dotfiles repo
|
||||
|
||||
## One line install
|
||||
|
||||
```bash
|
||||
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply https://code.lksz.me/lksz/dotfiles.git
|
||||
```
|
1
chezmoi.roots/__root_links/base.chezmoiroot.linux
Symbolic link
1
chezmoi.roots/__root_links/base.chezmoiroot.linux
Symbolic link
|
@ -0,0 +1 @@
|
|||
base.chezmoiroot.posix
|
1
chezmoi.roots/__root_links/base.chezmoiroot.macos
Normal file
1
chezmoi.roots/__root_links/base.chezmoiroot.macos
Normal file
|
@ -0,0 +1 @@
|
|||
chezmoi.roots/_home.macos
|
1
chezmoi.roots/__root_links/base.chezmoiroot.macos.laptop
Symbolic link
1
chezmoi.roots/__root_links/base.chezmoiroot.macos.laptop
Symbolic link
|
@ -0,0 +1 @@
|
|||
base.chezmoiroot.macos
|
1
chezmoi.roots/__root_links/base.chezmoiroot.posix
Normal file
1
chezmoi.roots/__root_links/base.chezmoiroot.posix
Normal file
|
@ -0,0 +1 @@
|
|||
chezmoi.roots/_home
|
1
chezmoi.roots/_home.macos/.chezmoi.toml.tmpl
Symbolic link
1
chezmoi.roots/_home.macos/.chezmoi.toml.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoi.toml.tmpl
|
1
chezmoi.roots/_home.macos/.chezmoiexternal.yaml.tmpl
Symbolic link
1
chezmoi.roots/_home.macos/.chezmoiexternal.yaml.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiexternal.yaml.tmpl
|
1
chezmoi.roots/_home.macos/.chezmoiignore
Symbolic link
1
chezmoi.roots/_home.macos/.chezmoiignore
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiignore
|
3
chezmoi.roots/_home.macos/.chezmoiscripts/run_once_init.sh.tmpl
Executable file
3
chezmoi.roots/_home.macos/.chezmoiscripts/run_once_init.sh.tmpl
Executable file
|
@ -0,0 +1,3 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
printf '_home.macos init\n'
|
1
chezmoi.roots/_home.macos/dot_bashrc
Symbolic link
1
chezmoi.roots/_home.macos/dot_bashrc
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_bashrc
|
53
chezmoi.roots/_home.macos/dot_finicky.js
Normal file
53
chezmoi.roots/_home.macos/dot_finicky.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
// Use https://finicky-kickstart.now.sh to generate basic configuration
|
||||
// Learn more about configuration options: https://github.com/johnste/finicky/wiki/Configuration
|
||||
|
||||
module.exports = {
|
||||
defaultBrowser: "Browserosaurus",
|
||||
rewrite: [{
|
||||
match: () => true, // Execute rewrite on all incoming urls to make this example easier to understand
|
||||
url: ({ url }) => {
|
||||
const removeKeysStartingWith = ["utm_", "uta_"]; // Remove all query parameters beginning with these strings
|
||||
const removeKeys = ["fbclid", "gclid", "si"]; // Remove all query parameters matching these keys
|
||||
|
||||
const search = url.search
|
||||
.split("&")
|
||||
.map((parameter) => parameter.split("="))
|
||||
.filter(([key]) => !removeKeysStartingWith.some((startingWith) => key.startsWith(startingWith)))
|
||||
.filter(([key]) => !removeKeys.some((removeKey) => key === removeKey));
|
||||
|
||||
return {
|
||||
...url,
|
||||
search: search.map((parameter) => parameter.join("=")).join("&"),
|
||||
};
|
||||
},
|
||||
}],
|
||||
handlers: [
|
||||
{
|
||||
match: [
|
||||
finicky.matchDomains(/.*\.vastdata\.com/),
|
||||
"vastdata.*",
|
||||
finicky.matchDomains(/.*\.catonetworks\.com/),
|
||||
"deeplinks.mindtickle.com*"
|
||||
],
|
||||
browser: "Browserosaurus"
|
||||
},
|
||||
{
|
||||
match: [
|
||||
finicky.matchDomains(/127\.0\.0\.1/)
|
||||
],
|
||||
browser: "Browserosaurus"
|
||||
},
|
||||
{
|
||||
// Open these in Browserosaurus
|
||||
match: [
|
||||
"github.com*",
|
||||
"open.spotify.com*",
|
||||
// YouTube
|
||||
"youtube.com*",
|
||||
"youtu.be*",
|
||||
finicky.matchDomains(/.*\.youtube.com/) // use helper function to match on domain only
|
||||
],
|
||||
browser: "Browserosaurus"
|
||||
}
|
||||
]
|
||||
}
|
1
chezmoi.roots/_home.macos/dot_gitconfig.tmpl
Symbolic link
1
chezmoi.roots/_home.macos/dot_gitconfig.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_gitconfig.tmpl
|
1
chezmoi.roots/_home.macos/dot_profile
Symbolic link
1
chezmoi.roots/_home.macos/dot_profile
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_profile
|
11
chezmoi.roots/_home.macos/dot_vimrc
Normal file
11
chezmoi.roots/_home.macos/dot_vimrc
Normal 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:
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"folders": [
|
||||
{
|
||||
"name": "chezmoi 🏡",
|
||||
"path": "../../.local/share/chezmoi"
|
||||
},
|
||||
{
|
||||
"name": "~/.config/chezmoi",
|
||||
"path": "../../.config/chezmoi"
|
||||
},
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
1
chezmoi.roots/_home.macos/dot_zshrc
Symbolic link
1
chezmoi.roots/_home.macos/dot_zshrc
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_zshrc
|
1
chezmoi.roots/_home.macos/private_dot_config/atuin/config.toml
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/atuin/config.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/atuin/config.toml
|
1
chezmoi.roots/_home.macos/private_dot_config/pet/config.toml
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/pet/config.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/pet/config.toml
|
1
chezmoi.roots/_home.macos/private_dot_config/pet/snippet.toml
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/pet/snippet.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/pet/snippet.toml
|
1
chezmoi.roots/_home.macos/private_dot_config/starship.toml
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/starship.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../_src.posix/private_dot_config/starship.toml
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/.aliases.macos.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/099_stop_on_non_interactive_sessions.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_home_bin.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_node.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_truestuff.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/PATH_zz_cleanup.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_000_term.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_0_perp.env.zsh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_2_zinit.env.zsh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aaa_zsh_3_completion_system.env.zsh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aab_zellij.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/aliases.env.tmpl
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/bbb_bash_preexec.env.bash
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/bbb_ble.sh.env.bash
|
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/broot.env
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/broot.env
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/broot.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/ccc_load_complete-alias.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/envman-and-webi.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/executable__.load.sh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/fix-kubectl.env
|
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/fix-nvim.env
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/fix-nvim.env
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/fix-nvim.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/remove_000_stop_on_non_interactive_sessions.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/remove_aaa_zsh_0_perp.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/remove_aaa_zsh_2_zinit.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/remove_aaa_zsh_3_completion_system.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/remove_bbb_bash_preexec.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/remove_bbb_ble.sh.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_atuin.env
|
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/zza_lsd.env
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/zza_lsd.env
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_lsd.env
|
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/zza_pet.env
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/zza_pet.env
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_pet.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_starship.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zza_vivid.env
|
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/zzb_eza.env
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/sz.env/zzb_eza.env
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzb_eza.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_bash_post.env
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_chezmoi.env.tmpl
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_fzf.env.off
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"'
|
||||
|
||||
! [ -x /opt/homebrew/bin/brew ] || \
|
||||
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/zzz_teleport.env
|
1
chezmoi.roots/_home.macos/private_dot_config/vim/_init
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_config/vim/_init
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/vim/_init
|
|
@ -0,0 +1 @@
|
|||
../../../_src.all/private_dot_config/wezterm/wezterm.lua
|
1
chezmoi.roots/_home.macos/private_dot_local/bin/.keep
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_local/bin/.keep
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/.keep
|
|
@ -0,0 +1,58 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
printf '%s\n' \
|
||||
"${0#/*} - | [Address [... Address]]" \
|
||||
"" \
|
||||
"Perform copy-ssh-id where key based ssh auth is failing" \
|
||||
""
|
||||
exit 2
|
||||
fi
|
||||
|
||||
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:-0}" ] || (
|
||||
ssh-keygen -F "$HOST" &>/dev/null \
|
||||
&& ssh-keygen -R "$HOST" &>/dev/null \
|
||||
|| true
|
||||
)
|
||||
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}" \
|
||||
|| (
|
||||
local XC=$?
|
||||
printf '\n'
|
||||
printf 'Exit code: %s\n' "$XC" >&2
|
||||
return $XC
|
||||
)
|
||||
}
|
||||
|
||||
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
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_get-github-release.sh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_load-starship
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_load-webi
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_load-zellij
|
|
@ -0,0 +1,28 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
is_cmd() {
|
||||
type -p -- "${@}" 2> /dev/null 1> /dev/null
|
||||
}
|
||||
|
||||
if ! is_cmd ip; then
|
||||
printf '%s\n' \
|
||||
'`ip` command missing, try again after installing:' \
|
||||
' `brew install iproute2mac`' \
|
||||
''
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ip -j a s | jq -r '
|
||||
map(select(.operstate == "UP"))
|
||||
| map(select(.addr_info | length > 0))
|
||||
| map(select(any(.addr_info[]; .family == "inet")))
|
||||
| sort_by(.addr_info[0].local // "0.0.0.0")
|
||||
| .[]
|
||||
| "\( .ifname )\t\( .link_type )\t\(
|
||||
.addr_info[]
|
||||
| select(.family == "inet")
|
||||
| "\(.local)/\(.prefixlen)"
|
||||
)"
|
||||
'
|
|
@ -0,0 +1,25 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
# Arguments 'TO', optional user (can be configured in ~/.ssh/config.d/...), command to run over ssh
|
||||
|
||||
# Figure out the IPAddress I need to operate from
|
||||
# Figure out the interface name to use
|
||||
# Set the interface to the IP Address if not already setup
|
||||
# Test with ping
|
||||
# Connect with SSH
|
||||
|
||||
VASTHOST="${1}"
|
||||
if [ -z "$VASTHOST" ]; then
|
||||
VASTHOST=192.168.2.2
|
||||
printf '%s\n' "VAST host argument not supplied, using default $VASTHOST..." >&2
|
||||
elif [ "$VASTHOST" == "0" ]; then
|
||||
printf '%s\n' "Removing:" ~/.ssh/vast.id_rsa*
|
||||
rm ~/.ssh/vast.id_rsa* || true
|
||||
cp ~/.ssh/id_rsa ~/.ssh/vast.id_rsa
|
||||
cp ~/.ssh/id_rsa.pub ~/.ssh/vast.id_rsa.pub
|
||||
exit
|
||||
fi
|
||||
set -x
|
||||
scp vastdata@${VASTHOST}:.ssh/id_rsa ~/.ssh/vast.id_rsa
|
||||
scp vastdata@${VASTHOST}:.ssh/id_rsa.pub ~/.ssh/vast.id_rsa.pub
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_tsh-get
|
1
chezmoi.roots/_home.macos/private_dot_local/bin/executable_tssh
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_local/bin/executable_tssh
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_tssh
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_tssh-with-tunnel
|
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_local/bin/executable_update-atuin
|
|
@ -0,0 +1,78 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Usage: ./vast-teleport get version [auto|major|<vMajor>]
|
||||
# Example: ./latest_teleport_version.sh get major
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_NAME="${0##/*}"
|
||||
usage() {
|
||||
printf '%s\n' \
|
||||
"${SCRIPT_NAME} command..." \
|
||||
'' \
|
||||
'Usage:' \
|
||||
' get version same as running `tsh version`' \
|
||||
' get version server grabs the version of the server' \
|
||||
' get version server major grabs the major version of the server' \
|
||||
' get version client 15 grabs the latest version of the client for major' \
|
||||
" get version client auto grab the latest version based on the server's major version" \
|
||||
'' \
|
||||
" To update teleport's \`tsh\` with \`chezmoi\` run the following" \
|
||||
' eval "$(vast-teleport get version server major -) czx status"' \
|
||||
''
|
||||
exit 2
|
||||
}
|
||||
|
||||
get_server_version() {
|
||||
curl -s https://teleport.vastdata.com:3080/webapi/ping \
|
||||
| jq -r '.server_version'
|
||||
}
|
||||
get_server_major() {
|
||||
get_server_version | awk -F. '{print $1}'
|
||||
}
|
||||
|
||||
get_latest_version_by_major() {
|
||||
local MAJOR="$1"
|
||||
curl -s "https://api.github.com/repos/gravitational/teleport/releases?per_page=100" \
|
||||
| jq -r ".[].tag_name" \
|
||||
| grep -E "^v${MAJOR}\." \
|
||||
| sort -V \
|
||||
| tail -n 1
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
get) shift; case $1 in
|
||||
version) shift; case $1 in
|
||||
'') tsh version ;;
|
||||
server) shift; case $1 in
|
||||
'') get_server_version ;;
|
||||
major) shift; case $1 in
|
||||
'') get_server_major ;;
|
||||
'-') printf 'TELEPORT_MAJOR=' && get_server_major ;;
|
||||
*) usage ;;
|
||||
esac;;
|
||||
*) usage ;;
|
||||
esac ;;
|
||||
client) shift; case $1 in
|
||||
'') usage ;;
|
||||
auto) get_latest_version_by_major "$(get_server_major)" ;;
|
||||
*) get_latest_version_by_major "${@}" ;;
|
||||
esac;;
|
||||
*) usage ;;
|
||||
esac;;
|
||||
*) usage ;;
|
||||
esac ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
# MAJOR="$1"
|
||||
#
|
||||
# if [[ -z "$MAJOR" ]]; then
|
||||
# echo "Usage: $0 <major_version>"
|
||||
# exit 1
|
||||
# fi
|
||||
#
|
||||
# curl -s "https://api.github.com/repos/gravitational/teleport/releases?per_page=100" | \
|
||||
# jq -r ".[].tag_name" | \
|
||||
# grep -E "^v${MAJOR}\." | \
|
||||
# sort -V | \
|
||||
# tail -n 1
|
|
@ -0,0 +1,165 @@
|
|||
#! /usr/bin/env bash
|
||||
|
||||
set -e
|
||||
# Arguments 'TO', optional user (can be configured in ~/.ssh/config.d/...), command to run over ssh
|
||||
|
||||
# Figure out the IPAddress I need to operate from
|
||||
# Figure out the interface name to use
|
||||
# Set the interface to the IP Address if not already setup
|
||||
# Test with ping
|
||||
# Connect with SSH
|
||||
|
||||
SCRIPT_NAME="${0##*/}"
|
||||
if [ $# -eq 0 ]; then
|
||||
printf '%s\n' \
|
||||
"${SCRIPT_NAME} <TO> [<FROM>] [<Interface>]" \
|
||||
"" \
|
||||
"Configure MacOS iface to connect to <TO> address from <FROM> address" \
|
||||
"Default <Interface> is en9" \
|
||||
"" \
|
||||
"FROM and FROM_SN will be autofilled for the following subnets:" \
|
||||
" 10.117.10.0/24" \
|
||||
" 192.168.[1 or 2].0/24" \
|
||||
"" \
|
||||
"for other subnets, you'll need to specify a FROM argument and a FROM_SN env variable" \
|
||||
"" \
|
||||
"What the script does:" \
|
||||
" 1. Attempts a ping to the destination IP." \
|
||||
" 2. If unsuccessful:" \
|
||||
" a. if FROM (2nd arg) isn't specified or set to 'dhcp':" \
|
||||
" - tries to guess the FROM and FROM_SN based on known TO ranges." \
|
||||
" b. if FROM was specied - uses FROM/2nd argument and FROM_SN from env" \
|
||||
" c. compares desired FROM and assigned IP on outgoing interface (IFACE env or default: en9)" \
|
||||
" d. if different, asssigns ip address to interface (temporary, using sudo)" \
|
||||
" e. Attempts ping once again" \
|
||||
" 3. If ping was successful, tries to grab hostname via ssh" \
|
||||
"" \
|
||||
" The entire process will do it's best to communicate error states and" \
|
||||
" recommend possible actions if any steps fail" \
|
||||
""\
|
||||
"Predefined CIDR and aliases" \
|
||||
" 10.117.10.254/24 " \
|
||||
" 192.168.1.254/24 " \
|
||||
" 192.168.2.254/24 " \
|
||||
" 169.254.1.15/27 " \
|
||||
" 169.254.111.15/27 " \
|
||||
" 169.254.3.254/24 " \
|
||||
"" \
|
||||
"Examples:" \
|
||||
" ${SCRIPT_NAME} 192.168.2.2 # connect to tech port" \
|
||||
""
|
||||
exit 2
|
||||
elif [[ $# -eq 1 && "$1" == "editme" ]]; then
|
||||
exec ${VISUAL:-${EDITOR:-vi}} "$(readlink -f "$0")"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
TO="${1}"
|
||||
IFACE="${IFACE:-en9}"
|
||||
PINGOK=1
|
||||
CMDs=("${@:2}")
|
||||
|
||||
[ "${#CMDs}" -gt 0 ] || CMDs=( hostname )
|
||||
|
||||
_myip() {
|
||||
lsip | awk "/${IFACE}/"'{split($3, a, "/"); print a[1];}'
|
||||
}
|
||||
|
||||
_ping() {
|
||||
ping -c "${PING_C:-3}" -W 250 "${TO}"
|
||||
}
|
||||
|
||||
_log() {
|
||||
printf '%s\n' \
|
||||
"${@:2}" \
|
||||
>&2
|
||||
exit ${1}
|
||||
}
|
||||
|
||||
if _ping &>/dev/null; then
|
||||
printf "Connection detected.\n"
|
||||
else
|
||||
PINGOK=0
|
||||
if [ "${FROM:-${2:-}}" == "dhcp" ]; then
|
||||
FROM=dhcp
|
||||
FROM_SN=auto
|
||||
SLEEP="${SLEEP:-15s}"
|
||||
else
|
||||
SLEEP="${SLEEP:-3s}"
|
||||
case "${FROM:+__}${TO}" in
|
||||
10.117.10.*)
|
||||
FROM=10.117.10.254
|
||||
FROM_SN=255.255.255.0
|
||||
;;
|
||||
192.168.1.*)
|
||||
FROM=192.168.1.254
|
||||
FROM_SN=255.255.255.0
|
||||
;;
|
||||
192.168.2.*)
|
||||
FROM=192.168.2.254
|
||||
FROM_SN=255.255.255.0
|
||||
;;
|
||||
169.254.1.*)
|
||||
FROM=169.254.1.15
|
||||
FROM_SN=255.255.255.224
|
||||
;;
|
||||
169.254.111.*)
|
||||
FROM=169.254.111.15
|
||||
FROM_SN=255.255.255.224
|
||||
;;
|
||||
169.254.3.*)
|
||||
FROM=169.254.3.253
|
||||
FROM_SN=255.255.255.0
|
||||
;;
|
||||
*)
|
||||
FROM=${FROM:-${2:?FROM and FROM_SN Must be supplied for unknown IPv4 destination $1}}
|
||||
FROM_SN=${FROM_SN:?FROM and FROM_SN Must be supplied for unknown IPv4 destination $1}
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
MYIP=''
|
||||
MYIP="$(_myip)"
|
||||
|
||||
if [ "$FROM" == "$MYIP" ]; then
|
||||
_log 2 "Already setup with $MYIP, but ping to $TO is failing, you'll need to troubleshoot this."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "$MYIP detected on $IFACE, Setting up $FROM / $FROM_SN - \`sudo\` might be prompting you for your password"
|
||||
|
||||
if [ "${FROM}" == "dhcp" ]; then
|
||||
sudo ipconfig set "${IFACE}" bootp || true
|
||||
sudo ipconfig set "${IFACE}" dhcp
|
||||
else
|
||||
sudo ipconfig set "${IFACE}" manual "${FROM}" "${FROM_SN}"
|
||||
fi \
|
||||
&& printf 'Waiting %s...' "${SLEEP}" \
|
||||
&& sleep "${SLEEP}" \
|
||||
&& MYIP="$(_myip)"
|
||||
fi
|
||||
|
||||
if [ $PINGOK -eq 0 ] && _ping &>/dev/null; then
|
||||
PINGOK=1
|
||||
fi
|
||||
|
||||
if [ $PINGOK -eq 1 ]; then
|
||||
# auto-copy-ssh-id "${TO}"
|
||||
|
||||
ssh-keygen -R "${TO}" || true
|
||||
|
||||
ssh \
|
||||
-o PasswordAuthentication=no \
|
||||
-o BatchMode=yes \
|
||||
-o ConnectTimeout=2 \
|
||||
-ttn \
|
||||
"${TO}" -- "${CMDs[*]}" \
|
||||
|| 1>&2 printf '%s\n' \
|
||||
"Could not SSH into ${TO}, you might want to run 'pull-vast.id_rsa ${TO}' or 'auto-copy-ssh-id ${TO}'"
|
||||
else
|
||||
_log 2 "Ping faild."
|
||||
fi
|
||||
|
||||
exit
|
||||
|
||||
|
1
chezmoi.roots/_home.macos/private_dot_ssh/config
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_ssh/config
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../_src.posix/private_dot_ssh/config
|
1
chezmoi.roots/_home.macos/private_dot_ssh/config.d/.keep
Symbolic link
1
chezmoi.roots/_home.macos/private_dot_ssh/config.d/.keep
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_ssh/config.d/.keep
|
12
chezmoi.roots/_home.macos/private_dot_ssh/config.d/vast
Normal file
12
chezmoi.roots/_home.macos/private_dot_ssh/config.d/vast
Normal file
|
@ -0,0 +1,12 @@
|
|||
# [cs-dbg is dead as of 2025-03-09](https://vastdata.slack.com/archives/C04VA6PANDA/p1741536411791709)
|
||||
# Host cs-dbg
|
||||
# HostName 10.27.70.101
|
||||
|
||||
Host crater-kfs2
|
||||
HostName crater-kfs2
|
||||
|
||||
Host my-loop sales-devvm-gal-szkolnik-spot
|
||||
User centos
|
||||
HostName 10.91.1.10
|
||||
|
||||
# vim: set ft=sshconfig sw=4 sts=4 et:
|
1
chezmoi.roots/_home/.chezmoi.toml.tmpl
Symbolic link
1
chezmoi.roots/_home/.chezmoi.toml.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoi.toml.tmpl
|
1
chezmoi.roots/_home/.chezmoiexternal.yaml.tmpl
Symbolic link
1
chezmoi.roots/_home/.chezmoiexternal.yaml.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiexternal.yaml.tmpl
|
1
chezmoi.roots/_home/.chezmoiignore
Symbolic link
1
chezmoi.roots/_home/.chezmoiignore
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/.chezmoiignore
|
1
chezmoi.roots/_home/.chezmoiscripts/run_once_init.sh.tmpl
Symbolic link
1
chezmoi.roots/_home/.chezmoiscripts/run_once_init.sh.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../_src.posix/.chezmoiscripts/run_once_init.sh.tmpl
|
1
chezmoi.roots/_home/dot_bashrc
Symbolic link
1
chezmoi.roots/_home/dot_bashrc
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_bashrc
|
1
chezmoi.roots/_home/dot_gitconfig.tmpl
Symbolic link
1
chezmoi.roots/_home/dot_gitconfig.tmpl
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_gitconfig.tmpl
|
1
chezmoi.roots/_home/dot_profile
Symbolic link
1
chezmoi.roots/_home/dot_profile
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_profile
|
1
chezmoi.roots/_home/dot_vimrc
Symbolic link
1
chezmoi.roots/_home/dot_vimrc
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_vimrc
|
1
chezmoi.roots/_home/dot_zshrc
Symbolic link
1
chezmoi.roots/_home/dot_zshrc
Symbolic link
|
@ -0,0 +1 @@
|
|||
../_src.posix/dot_zshrc
|
1
chezmoi.roots/_home/private_dot_config/atuin/config.toml
Symbolic link
1
chezmoi.roots/_home/private_dot_config/atuin/config.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/atuin/config.toml
|
1
chezmoi.roots/_home/private_dot_config/pet/config.toml
Symbolic link
1
chezmoi.roots/_home/private_dot_config/pet/config.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/pet/config.toml
|
1
chezmoi.roots/_home/private_dot_config/pet/snippet.toml
Symbolic link
1
chezmoi.roots/_home/private_dot_config/pet/snippet.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/pet/snippet.toml
|
1
chezmoi.roots/_home/private_dot_config/starship.toml
Symbolic link
1
chezmoi.roots/_home/private_dot_config/starship.toml
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../_src.posix/private_dot_config/starship.toml
|
1
chezmoi.roots/_home/private_dot_config/sz.env/.aliases.macos.env
Symbolic link
1
chezmoi.roots/_home/private_dot_config/sz.env/.aliases.macos.env
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../../_src.posix/private_dot_config/sz.env/.aliases.macos.env
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue