![screenshot](https://private-user-images.githubusercontent.com/339168/282263015-9ca3fd96-ed7e-4c55-ae80-691bd8509277.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0OTU0ODcsIm5iZiI6MTczOTQ5NTE4NywicGF0aCI6Ii8zMzkxNjgvMjgyMjYzMDE1LTljYTNmZDk2LWVkN2UtNGM1NS1hZTgwLTY5MWJkODUwOTI3Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNFQwMTA2MjdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNTFiNjkyYWFkMjJhMTQzNDczOWY3NjQ3ODg3MjNhMGYwYjg1YjJkZWM0Y2UyYmI1YjhiOWM3YWY3Y2I2OWI3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.xJp9RhCxoku23oAnFlMnx5-ATYVm7aGJUNhE0E7JgLg)
This is a framework to manage your dotfiles. It is configured the way I like it. You should extend / edit this however you like.
dot
: a bunch of built-in dotfileszsh/.zshrc.d
dot theme
: minimal powerlevel10k themedot plugins
: ohmyzsh & antibody pluginsdot stow
: stow support. See more info below.
Install brew first. Then run:
git clone https://github.com/surjikal/dotfiles.git ~/.dotfiles && cd $_
brew bundle
stow zsh
exec zsh -l
command | description |
---|---|
dot |
edit dotfiles in vscode |
dot <file> |
edit a specific dotfile, supports tab completion |
reload |
reload the shell |
ohshit |
escape hatch if shell is broken |
command | description |
---|---|
ramdisk <size> |
mount RAM volume (defaults to 8GB) |
serve <port> |
serve current dir (defaults to random port) |
vpn_start |
starts your vpn |
ssh_tunnel |
ssh_tunnel <src> <dest> <host> |
gg |
git gui |
gk |
gitk --all |
gf |
git fetch --all |
Stow will symlink the contents of a directory into your home directory.
For example, there's a nano
directory in this repo that contains a .nanorc
.
If you run stow nano
, it will symlink ~/.dotfiles/nano/.nanorc
to ~/.nanorc
.
Run dot stow
and edit the STOWED
array to specify which dirs you want to stow on startup.