Here are the configuration files for the various tools I use along with a bunch of custom scripts and shell helper functions to reduce repetitive tasks.
This is intended to be a shell script to install everything I like on a fresh MacBook. I wouldn't recommend anyone run the script on their own machine, partly as the script in its current state is fairly experimental and hasn't been tested thoroughly, and partly as it's rarely a good idea to install someone else's setup in its entirety.
The script should do roughly the following:
- Install some useful packages & casks via brew.
- Symlink a bunch of config files found in this repo to the relevant places.
- Install some useful python packages.
- Configure some OSX settings.
Functions in the .zsh/functions
directory are autoloaded (lazy loaded) into
the shell. Other .zsh
files in the .zsh
directory are directly sourced.
name | description | keybinding |
---|---|---|
fza | find an alias and paste to command line | Ctrl+f Ctrl+a |
fzh | find a command from history and paste to command line | Ctrl+r |
z | called without arguments to find a directory from z plugin's list, with arguments acts like normal z |
|
ssh | called without arguments to find a remote, with arguments to be regular ssh (requires rg ) |
|
vs | open a readonly nvim buffer reading from stdout from a given command. usage vs ls -lA |
|
copy the current line to the system clipboard | Ctrl+y | |
clc | copy the previous command to the system clipboard | |
pubkey | copy my public key to the system clipboard | |
please | sudo the last command | |
v | open suspended nvim session if it exists or start afresh | |
cpf f |
copy the contents of file f to the clipboard, without arguments to fzf the file |
|
fzm | find a recipe from a Makefile in the cwd and run it |
|
vact | deactivate the current conda env and activate venv in current directory |
name | description | keybinding |
---|---|---|
fzgf | find a commit to fixup | Ctrl+g Ctrl+f |
fzgr | find a commit to rebase onto | Ctrl+g Ctrl+r |
fzgs | find a commit to show | Ctrl+g Ctrl+s |
fzgsp | find a stash to pop | Ctrl+g Ctrl+p |
gfix | fixup the latest commit | |
greb n |
rebase latest n commits (defaults to 1) |
|
gb | with arguments acts as normal git branch . without arguments it brings up a menu to fzf a branch to checkout. Use Ctrl+d to delete the branch under the cursor |
|
gbdf | multiselect git branches to force delete |
name | description |
---|---|
dexec | find a container to drop into |
dlog | find a container to retrieve logs |
dstart | find a stopped container to start |
dstop | find a started container(s) to stop |
dimagerm | find images to delete |
name | description |
---|---|
klog | retrieve logs for a container |
kdescp | describe a pod |
kdesc | describe a resource |
kexec | drop into a container shell |
kns ns |
switch to namespace ns or choose from a list if omitted |
kyaml | get yaml for a resource |
kctx | switch context |
ktmp | create a temporary busybox pod |
kcsec sec ns1 ns2 |
copy secret sec from namespace ns1 to namespace ns2 . If arguments are omitted then user is prompted |
kscaledown | scale down all deployments and stateful sets in the current namespace |
kscaleup | scale up all deployments and stateful sets in the current namespace |
name | description |
---|---|
hun | uninstall a chart |
These are located in scripts
and provide some automation around tasks that I
do regularly. See the README there for more information.
To get up and running with a minimal vimrc:
vimrc="${HOME:-~}/.vimrc"
[[ ! -f $vimrc ]] \
&& curl https://raw.githubusercontent.com/dbatten5/dotfiles/main/.vimrc -o "$vimrc" \
|| echo ".vimrc already exists, not overwriting..."