Merge branch 'main' of ssh://git.scalene.net:22023/jswank/dotfiles
This commit is contained in:
commit
8fe8be5ad7
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -10,3 +10,6 @@
|
||||
[submodule "nvim/.config/nvim/pack/github/start/copilot.vim"]
|
||||
path = nvim/.config/nvim/pack/github/start/copilot.vim
|
||||
url = https://github.com/github/copilot.vim
|
||||
[submodule "nvim/.config/nvim/pack/bundle/start/vim-go"]
|
||||
path = nvim/.config/nvim/pack/bundle/start/vim-go
|
||||
url = https://github.com/fatih/vim-go.git
|
||||
|
||||
1
aichat/.config/aichat/.env~
Normal file
1
aichat/.config/aichat/.env~
Normal file
@ -0,0 +1 @@
|
||||
CLAUDE_API_KEY=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
|
||||
@ -3,8 +3,9 @@
|
||||
# set API keys via environment variables, like CLAUDE_API_KEY
|
||||
# environment variables for aichat can be set at ~/.config/aichat/.env
|
||||
|
||||
model: claude
|
||||
model: claude:claude-sonnet-4-5-20250929
|
||||
keybindings: vi
|
||||
prelude: role:cloudops
|
||||
repl_prelude: role:cloudops
|
||||
clients:
|
||||
- type: claude
|
||||
- type: gemini
|
||||
|
||||
14
aichat/.config/aichat/foo
Normal file
14
aichat/.config/aichat/foo
Normal file
@ -0,0 +1,14 @@
|
||||
I have a google spreadsheet with personal contact information (name, phone
|
||||
number, address, etc) for a group or people. The columns are:
|
||||
|
||||
```
|
||||
name first last mobile email street1 street2 city state zip hphone oemail children member exclude inactive
|
||||
```
|
||||
|
||||
The last three columns are checkboxes.
|
||||
|
||||
I wish to construct a new tab in the spreadsheet that lists all the contacts who are:
|
||||
- not inactive
|
||||
- not excluded
|
||||
|
||||
How can I accomplish this?
|
||||
2477
aichat/.config/aichat/models-override.yaml
Normal file
2477
aichat/.config/aichat/models-override.yaml
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,12 @@
|
||||
I want you to act as a UNIX shell expert and senior software engineer.
|
||||
|
||||
You are working in an environment with services using Amazon Web Services (AWS), including EKS, ALB, VPC, Transit Gateways.
|
||||
Tools you are currently using include Terraform, git (Github), the AWS CLI, kubectl, `jq`, `yy`.
|
||||
You are working in an environment with services using Amazon Web Services
|
||||
(AWS), including EKS, ALB, VPC, Transit Gateways. Tools you are currently
|
||||
using include Terraform, git (Github), the AWS CLI, kubectl, `jq`, `yy`.
|
||||
|
||||
You are a Go program language expert.
|
||||
|
||||
Explanations should be terse.
|
||||
Explanations should be terse. Do not include emojis in responses.
|
||||
|
||||
If relevant, include fenced code blocks as part of your response.
|
||||
|
||||
Please include relevant fenced code blocks as part of your response.
|
||||
|
||||
13
aichat/.config/aichat/sessions/ec2.yaml
Normal file
13
aichat/.config/aichat/sessions/ec2.yaml
Normal file
File diff suppressed because one or more lines are too long
13
aichat/.config/aichat/sessions/temp.yaml
Normal file
13
aichat/.config/aichat/sessions/temp.yaml
Normal file
File diff suppressed because one or more lines are too long
@ -5,7 +5,7 @@
|
||||
|
||||
STOW=$(which stow || echo -n "")
|
||||
if [ -z "$STOW" ]; then
|
||||
STOW=./stow.sh
|
||||
STOW="./stow.sh -s"
|
||||
fi
|
||||
|
||||
git submodule update --init --recursive
|
||||
@ -34,7 +34,8 @@ for dir in \
|
||||
sh \
|
||||
ssh \
|
||||
tmux \
|
||||
zsh
|
||||
zsh \
|
||||
aichat
|
||||
do
|
||||
$STOW -t $HOME $dir
|
||||
done
|
||||
|
||||
1
npm/.npmrc
Normal file
1
npm/.npmrc
Normal file
@ -0,0 +1 @@
|
||||
prefix=~/.local
|
||||
@ -63,8 +63,9 @@ let g:netrw_banner=0 " disable annoying banner
|
||||
let g:netrw_browse_split=0 " open in prior window
|
||||
let g:netrw_altv=1 " open splits to the right
|
||||
let g:netrw_liststyle=3 " tree view
|
||||
let g:netrw_list_hide=netrw_gitignore#Hide()
|
||||
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
|
||||
" hide files in .gitignore - broken w/ neovim 0.11?
|
||||
" let g:netrw_list_hide=netrw_gitignore#Hide()
|
||||
let g:netrw_list_hide=',\(^\|\s\s\)\zs\.\S\+'
|
||||
|
||||
" NOW WE CAN:
|
||||
" - :edit a folder to open a file browser
|
||||
|
||||
1
nvim/.config/nvim/pack/bundle/start/vim-go
Submodule
1
nvim/.config/nvim/pack/bundle/start/vim-go
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 6adc82bfef7f9a4b0db78065ae51b8ebb145c355
|
||||
3
ssh/.ssh/known_hosts
Normal file
3
ssh/.ssh/known_hosts
Normal file
@ -0,0 +1,3 @@
|
||||
192.168.101.110 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJb5kemGOPwXoNr09PqIEZbHjZprJUrEtHOKk4jvxAlH
|
||||
192.168.101.110 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3MkIlJXiY/CF1Q9l+C1b5jKj05cIzr7AMTHXLnkvrGZD/n2XwkYKTVIwgiGm4de2MKs1tcFJU4l5y6ARWu2Iit7UHC7Zk9aAydg59przJV/aj9pkLfOYKvWu6f7VGWEMTzy+FZ+7C+ulzIhhV6fN6sDO6Ywa5Pkl/LyXlSWHlfWO7xVYFQwRaACdhdnjl+tygXWISHErtCUXX8qR+c7+yyb/tNKF67yhDX+U55PkMDoHqtQDVAYotUukvHZ4SbE//rTt/xRQAb/GnRV2f4p+Zl65UGBNr7Wh8oRWAdRx/CjU8ujgEZgs99lKLkAUdNz/52eAvoIxccoOdIkbk0snv
|
||||
192.168.101.110 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHZCtwh3lEIVtg/rm4p2Lws2zjXbvB8K8hk4ymagckaRdYq/16TqB8A2ki28fkGh7+DmitaCEC+iW/4lcQtEvsQ=
|
||||
1
ssh/.ssh/known_hosts.old
Normal file
1
ssh/.ssh/known_hosts.old
Normal file
@ -0,0 +1 @@
|
||||
192.168.101.110 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJb5kemGOPwXoNr09PqIEZbHjZprJUrEtHOKk4jvxAlH
|
||||
1
zsh/.local/share/zsh/functions/_go_task
Symbolic link
1
zsh/.local/share/zsh/functions/_go_task
Symbolic link
@ -0,0 +1 @@
|
||||
_task
|
||||
71
zsh/.local/share/zsh/functions/_task
Normal file
71
zsh/.local/share/zsh/functions/_task
Normal file
@ -0,0 +1,71 @@
|
||||
#compdef task
|
||||
compdef _task task
|
||||
typeset -A opt_args
|
||||
|
||||
_GO_TASK_COMPLETION_LIST_OPTION="${GO_TASK_COMPLETION_LIST_OPTION:---list-all}"
|
||||
|
||||
# Listing commands from Taskfile.yml
|
||||
function __task_list() {
|
||||
local -a scripts cmd
|
||||
local -i enabled=0
|
||||
local taskfile item task desc
|
||||
|
||||
cmd=(task)
|
||||
taskfile=${(Qv)opt_args[(i)-t|--taskfile]}
|
||||
taskfile=${taskfile//\~/$HOME}
|
||||
|
||||
|
||||
if [[ -n "$taskfile" && -f "$taskfile" ]]; then
|
||||
enabled=1
|
||||
cmd+=(--taskfile "$taskfile")
|
||||
else
|
||||
for taskfile in {T,t}askfile{,.dist}.{yaml,yml}; do
|
||||
if [[ -f "$taskfile" ]]; then
|
||||
enabled=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
(( enabled )) || return 0
|
||||
|
||||
scripts=()
|
||||
for item in "${(@)${(f)$("${cmd[@]}" $_GO_TASK_COMPLETION_LIST_OPTION)}[2,-1]#\* }"; do
|
||||
task="${item%%:[[:space:]]*}"
|
||||
desc="${item##[^[:space:]]##[[:space:]]##}"
|
||||
scripts+=( "${task//:/\\:}:$desc" )
|
||||
done
|
||||
_describe 'Task to run' scripts
|
||||
}
|
||||
|
||||
_task() {
|
||||
_arguments \
|
||||
'(-C --concurrency)'{-C,--concurrency}'[limit number of concurrent tasks]: ' \
|
||||
'(-p --parallel)'{-p,--parallel}'[run command-line tasks in parallel]' \
|
||||
'(-f --force)'{-f,--force}'[run even if task is up-to-date]' \
|
||||
'(-c --color)'{-c,--color}'[colored output]' \
|
||||
'(-d --dir)'{-d,--dir}'[dir to run in]:execution dir:_dirs' \
|
||||
'(--dry)--dry[dry-run mode, compile and print tasks only]' \
|
||||
'(-o --output)'{-o,--output}'[set output style]:style:(interleaved group prefixed)' \
|
||||
'(--output-group-begin)--output-group-begin[message template before grouped output]:template text: ' \
|
||||
'(--output-group-end)--output-group-end[message template after grouped output]:template text: ' \
|
||||
'(-s --silent)'{-s,--silent}'[disable echoing]' \
|
||||
'(--status)--status[exit non-zero if supplied tasks not up-to-date]' \
|
||||
'(--summary)--summary[show summary\: field from tasks instead of running them]' \
|
||||
'(-t --taskfile)'{-t,--taskfile}'[specify a different taskfile]:taskfile:_files' \
|
||||
'(-v --verbose)'{-v,--verbose}'[verbose mode]' \
|
||||
'(-w --watch)'{-w,--watch}'[watch-mode for given tasks, re-run when inputs change]' \
|
||||
+ '(operation)' \
|
||||
{-l,--list}'[list describable tasks]' \
|
||||
{-a,--list-all}'[list all tasks]' \
|
||||
{-i,--init}'[create new Taskfile.yml]' \
|
||||
'(-*)'{-h,--help}'[show help]' \
|
||||
'(-*)--version[show version and exit]' \
|
||||
'*: :__task_list'
|
||||
}
|
||||
|
||||
# don't run the completion function when being source-ed or eval-ed
|
||||
if [ "$funcstack[1]" = "_task" ]; then
|
||||
_task "$@"
|
||||
fi
|
||||
|
||||
6
zsh/.local/share/zsh/functions/aws-ec2-instances
Normal file
6
zsh/.local/share/zsh/functions/aws-ec2-instances
Normal file
@ -0,0 +1,6 @@
|
||||
aws-ec2-instances() {
|
||||
aws ec2 describe-instances --output json \
|
||||
| jq -r '.Reservations[].Instances[] |
|
||||
[.InstanceId, .State.Name, .PrivateIpAddress, (.PublicIpAddress // "N/A")] |
|
||||
@tsv'
|
||||
}
|
||||
10
zsh/.local/share/zsh/functions/aws-publish-ssh-key
Normal file
10
zsh/.local/share/zsh/functions/aws-publish-ssh-key
Normal file
@ -0,0 +1,10 @@
|
||||
aws-publish-ssh-key() {
|
||||
local key_name="${1:-jswank-$(hostname)}"
|
||||
local key_file="${2:-$HOME/.ssh/id_ed25519.pub}"
|
||||
|
||||
[[ -f "$key_file" ]] || { echo "Key file not found: $key_file" >&2; return 1; }
|
||||
|
||||
aws ec2 import-key-pair \
|
||||
--key-name "$key_name" \
|
||||
--public-key-material "fileb://$key_file"
|
||||
}
|
||||
3
zsh/.local/share/zsh/functions/aws-set-prompt
Normal file
3
zsh/.local/share/zsh/functions/aws-set-prompt
Normal file
@ -0,0 +1,3 @@
|
||||
aws-set-prompt() {
|
||||
export AWS_ENVIRONMENT=$(aws iam list-account-aliases | jq -r '.AccountAliases[0]')
|
||||
}
|
||||
16
zsh/.zshrc
16
zsh/.zshrc
@ -1,8 +1,8 @@
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color'
|
||||
alias vim='nvim'
|
||||
alias vi='nvim'
|
||||
alias w3='w3m -T text/html'
|
||||
|
||||
fpath+=~/.local/share/zsh/functions
|
||||
|
||||
path+=(~/bin)
|
||||
path+=(~/.local/bin)
|
||||
@ -12,8 +12,6 @@ export PATH
|
||||
# allow for # to be interpreted as a comment on the command line
|
||||
setopt interactivecomments
|
||||
|
||||
# cd tricks
|
||||
alias -- -='cd -'
|
||||
setopt auto_cd # there is no binary by that name in your $PATH, your shell will cd into it that directory
|
||||
|
||||
# use vi-style keymap
|
||||
@ -23,6 +21,9 @@ if [ "${TERM}" = "xterm" ]; then
|
||||
TERM=xterm-256color
|
||||
fi
|
||||
|
||||
# setup my personal functions
|
||||
autoload -Uz ~/.local/share/zsh/functions/*(.:t)
|
||||
|
||||
#
|
||||
# Prompt setup
|
||||
#
|
||||
@ -87,7 +88,7 @@ if [ -e $HOME/cfa-work/.zshrc ]; then
|
||||
. $HOME/cfa-work/.zshrc
|
||||
fi
|
||||
|
||||
for env in $HOME/.okta/.env $HOME/.aws/.env $HOME/.config/git/.env; do
|
||||
for env in $HOME/.okta/.env $HOME/.config/aws/.env $HOME/.config/github/.env $HOME/.config/aichat/.env; do
|
||||
if [ -r $env ]; then
|
||||
export $(xargs < $env)
|
||||
fi
|
||||
@ -105,6 +106,9 @@ if command -v aws_completer > /dev/null; then
|
||||
complete -C aws_completer aws
|
||||
fi
|
||||
|
||||
if command -v tofu > /dev/null; then
|
||||
complete -o nospace -C $(command -v tofu) tofu
|
||||
fi
|
||||
|
||||
# Highlight the current autocomplete option
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
@ -127,3 +131,5 @@ zstyle :compinstall filename '~/.zshrc'
|
||||
#zstyle :compinstall filename '~/.zshrc'
|
||||
|
||||
#compinit
|
||||
|
||||
complete -o nospace -C /home/cli/dotfiles/zsh/.local/bin/tofu tofu
|
||||
|
||||
Loading…
Reference in New Issue
Block a user