Skip to content

Latest commit

 

History

History

shell

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Site
Updated 2026-08-30

Shell

All files are loaded via the terminal shell of choice. In this dotfile repo this is bash or zsh.

Setup

Syncs shell files (aliases, exports, functions, nvm) to ~/.shell/.

./shell/setup.sh

Whats in the box

Export

Default export path sets are set here. E.g. local bin, composer.

Aliases

Set of handy aliases for common commands.

This includes;

  • Short navigate .. instead cd ..
  • ls commands
  • system, e.g. ip, show/hide dotfiles.
  • more..

Functions

Set of handy functions for common tasks.

This includes;

  • Navigate up multiple directories ..
  • Create folder and enter it mkcd
  • Find files/folders f
  • Convert images to .webp with to-webp
  • Node utilities: node-find, node-clean

NVM

load-nvmrc reads .nvmrc on directory change and switches node version. Kept separate from the other functions because node/nvm.sh registers the chpwd hook that calls it.

Files from other modules

.zshrc sources every extensionless file in ~/.shell/, not just the ones synced here. A tool module can drop its own shortcuts in by syncing a shell file to ~/.shell/<module> from its own setup.sh, which keeps that module self-contained.

Add custom commands without creating a new fork

If ~/.shell/extra exists, it will be sourced along with the other files. You can use this to add a few custom commands without the need to fork this entire repository, or to add commands you don’t want to commit to a public repository.

You could also use extra to override settings, functions and aliases from my dotfiles repository. It’s probably better to fork this repository instead, though.