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"]
|
[submodule "nvim/.config/nvim/pack/github/start/copilot.vim"]
|
||||||
path = nvim/.config/nvim/pack/github/start/copilot.vim
|
path = nvim/.config/nvim/pack/github/start/copilot.vim
|
||||||
url = https://github.com/github/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
|
# set API keys via environment variables, like CLAUDE_API_KEY
|
||||||
# environment variables for aichat can be set at ~/.config/aichat/.env
|
# environment variables for aichat can be set at ~/.config/aichat/.env
|
||||||
|
|
||||||
model: claude
|
model: claude:claude-sonnet-4-5-20250929
|
||||||
keybindings: vi
|
keybindings: vi
|
||||||
prelude: role:cloudops
|
repl_prelude: role:cloudops
|
||||||
clients:
|
clients:
|
||||||
- type: claude
|
- 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.
|
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.
|
You are working in an environment with services using Amazon Web Services
|
||||||
Tools you are currently using include Terraform, git (Github), the AWS CLI, kubectl, `jq`, `yy`.
|
(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.
|
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 "")
|
STOW=$(which stow || echo -n "")
|
||||||
if [ -z "$STOW" ]; then
|
if [ -z "$STOW" ]; then
|
||||||
STOW=./stow.sh
|
STOW="./stow.sh -s"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
@ -34,7 +34,8 @@ for dir in \
|
|||||||
sh \
|
sh \
|
||||||
ssh \
|
ssh \
|
||||||
tmux \
|
tmux \
|
||||||
zsh
|
zsh \
|
||||||
|
aichat
|
||||||
do
|
do
|
||||||
$STOW -t $HOME $dir
|
$STOW -t $HOME $dir
|
||||||
done
|
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_browse_split=0 " open in prior window
|
||||||
let g:netrw_altv=1 " open splits to the right
|
let g:netrw_altv=1 " open splits to the right
|
||||||
let g:netrw_liststyle=3 " tree view
|
let g:netrw_liststyle=3 " tree view
|
||||||
let g:netrw_list_hide=netrw_gitignore#Hide()
|
" hide files in .gitignore - broken w/ neovim 0.11?
|
||||||
let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'
|
" let g:netrw_list_hide=netrw_gitignore#Hide()
|
||||||
|
let g:netrw_list_hide=',\(^\|\s\s\)\zs\.\S\+'
|
||||||
|
|
||||||
" NOW WE CAN:
|
" NOW WE CAN:
|
||||||
" - :edit a folder to open a file browser
|
" - :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 ls='ls --color=auto'
|
||||||
alias grep='grep --color'
|
alias grep='grep --color'
|
||||||
alias vim='nvim'
|
alias vim='nvim'
|
||||||
alias vi='nvim'
|
|
||||||
alias w3='w3m -T text/html'
|
fpath+=~/.local/share/zsh/functions
|
||||||
|
|
||||||
path+=(~/bin)
|
path+=(~/bin)
|
||||||
path+=(~/.local/bin)
|
path+=(~/.local/bin)
|
||||||
@ -12,8 +12,6 @@ export PATH
|
|||||||
# allow for # to be interpreted as a comment on the command line
|
# allow for # to be interpreted as a comment on the command line
|
||||||
setopt interactivecomments
|
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
|
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
|
# use vi-style keymap
|
||||||
@ -23,6 +21,9 @@ if [ "${TERM}" = "xterm" ]; then
|
|||||||
TERM=xterm-256color
|
TERM=xterm-256color
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# setup my personal functions
|
||||||
|
autoload -Uz ~/.local/share/zsh/functions/*(.:t)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Prompt setup
|
# Prompt setup
|
||||||
#
|
#
|
||||||
@ -87,7 +88,7 @@ if [ -e $HOME/cfa-work/.zshrc ]; then
|
|||||||
. $HOME/cfa-work/.zshrc
|
. $HOME/cfa-work/.zshrc
|
||||||
fi
|
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
|
if [ -r $env ]; then
|
||||||
export $(xargs < $env)
|
export $(xargs < $env)
|
||||||
fi
|
fi
|
||||||
@ -105,6 +106,9 @@ if command -v aws_completer > /dev/null; then
|
|||||||
complete -C aws_completer aws
|
complete -C aws_completer aws
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if command -v tofu > /dev/null; then
|
||||||
|
complete -o nospace -C $(command -v tofu) tofu
|
||||||
|
fi
|
||||||
|
|
||||||
# Highlight the current autocomplete option
|
# Highlight the current autocomplete option
|
||||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||||
@ -127,3 +131,5 @@ zstyle :compinstall filename '~/.zshrc'
|
|||||||
#zstyle :compinstall filename '~/.zshrc'
|
#zstyle :compinstall filename '~/.zshrc'
|
||||||
|
|
||||||
#compinit
|
#compinit
|
||||||
|
|
||||||
|
complete -o nospace -C /home/cli/dotfiles/zsh/.local/bin/tofu tofu
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user