3 Commits

Author SHA1 Message Date
David Tomaschik
9770514d6a Finish brew updates 2026-05-25 15:11:06 -07:00
David Tomaschik
e1724c77f3 Update Brewfile 2026-05-22 18:23:18 -07:00
David Tomaschik
ecbc25e5ac Improve skelify 2026-05-20 14:35:14 -07:00
2 changed files with 23 additions and 4 deletions

View File

@@ -21,9 +21,11 @@ brew "dfu-util"
brew "difftastic"
brew "direnv"
brew "duck"
brew "dust"
brew "earthly"
brew "esptool"
brew "fish"
brew "fq"
brew "gh"
brew "ghidra", link: false
brew "git"
@@ -58,6 +60,7 @@ brew "pkgconf"
brew "protobuf"
brew "pwgen"
brew "pwntools"
brew "python@3.13"
brew "qemu"
brew "restic"
brew "ripgrep"
@@ -115,6 +118,7 @@ end
if !is_corp?
brew "bazelisk"
brew "openssh"
brew "virt-manager"
cask "claude-code"
cask "cryptomator"
@@ -123,4 +127,5 @@ if !is_corp?
cask "google-cloud-sdk"
cask "keybase"
cask "orbstack"
cask "jordanbaird-ice"
end

View File

@@ -3,6 +3,17 @@
# Skelify -- move a file to my .skel and setup symlinks
function skelify {
local -A opts
zparseopts -D -A opts -overlay:
local overlay_name="${opts[--overlay]}"
local base_skel_dir="${HOME}/.skel/dotfiles"
local extra_args=()
if [[ -n "${overlay_name}" ]]; then
base_skel_dir="${HOME}/.skel/dotfile_overlays/${overlay_name}"
extra_args=(--overlay "${overlay_name}")
fi
local target
local whichdir
local relhome
@@ -10,16 +21,19 @@ function skelify {
local fulltarget
for target in $~@; do
if test -d ${target} ; then
skelify ${target}/* || return 1
skelify "${extra_args[@]}" ${target}/* || return 1
elif test -f ${target} ; then
if ! whichdir=$(cd $(dirname $target) && pwd); then
echo Could not find directory for $target >/dev/stderr
return 1
fi
fname=$(basename ${target})
relhome=${whichdir#${HOME}/}
fulltarget="${whichdir}/${fname}"
if [[ ${relhome} == ${whichdir} ]] ; then
if [[ ${whichdir} == ${HOME} ]] ; then
relhome=""
elif [[ ${whichdir} == ${HOME}/* ]] ; then
relhome=${whichdir#${HOME}/}
else
echo ${whichdir} is not in home >/dev/stderr
return 1
fi
@@ -32,7 +46,7 @@ function skelify {
return 1
fi
echo ${target}
local skeldir="${HOME}/.skel/dotfiles/${relhome}"
local skeldir="${base_skel_dir}/${relhome}"
mkdir -p "${skeldir}"
mv ${target} "${skeldir}/${fname}"
ln -s "${skeldir}/${fname}" "${fulltarget}"