Configs, customizations, and themes to personalize my macOS experience, with a heavy focus on Laravel (Herd) development and modern CLI tools.
Important
Feel free to look around, contribute and suggest improvements. However, these will remain my personal config files/preferences written to selfishly fit my needs.
- Shell: Zsh optimized with
zinitfor fast plugin loading. - Theme: Powerlevel10k for a highly informative and responsive prompt.
- Navigation: zoxide (
z) for smarter directory jumping. - Session Management: Tmux with a custom
thelper script for instant project switching. - Editor: Neovim (aliased to
vimandvi) as the primary text editor. - Laravel Integration: deep integration with Herd and Artisan, including extensive aliases.
- Modern CLI Tools: Replaces standard tools with better alternatives:
ls→lsd(icons, colors)cat→bat(syntax highlighting)top→bpytop(beautiful resource monitoring)neofetch→fastfetch(system info)
Ensure you have the following installed before running the setup:
- git
- zsh
- tmux
- neovim
- fzf (Required for the
tscript) - Recommended Modern Tools:
lsdbatzoxidefastfetchbpytop
-
Set
zshas your default shell. -
Clone the repository to your home directory:
git clone https://github.com/yourusername/dotfiles.git $HOME/bin -
Run the installation script:
cd $HOME/bin chmod +x install ./install
The install script links configuration files from this repo to your home directory.
- Dry run:
./install -n(See what happens without changes) - Verbose:
./install -v(Detailed output) - Safe: Backs up/removes existing configurations before linking.
zsh/: Contains shell aliases (aliases.sh) and environment exports (exports.sh).tmux/: Tmux configuration and themes.nvim/: Complete Neovim configuration.scripts/: Custom scripts, including thetsession helper..zshrc: Main shell configuration file.
Create a .env file in ~/bin/ to store local secrets and machine-specific configs. This file is ignored by git.
# Example ~/bin/.env
HOME_IP=192.168.1.5| Alias | Command | Description |
|---|---|---|
a |
php artisan |
Run artisan commands |
mf |
a migrate |
Run migrations |
mfs |
a migrate:fresh --seed |
Fresh migration with seeds |
tinker |
a tinker |
Enter execution loop |
gp |
git push |
Push to remote |
gco |
git checkout |
Checkout branch |
l |
lsd |
List files with icons |
cat |
bat |
View file with highlighting |
tm |
tmux -u |
Start Tmux |
The t script (linked to ~/.local/bin/t) is a powerhouse for managing workflow.
t: Opens a fuzzy finder (fzf) to select a project from~/Code/Herdor~/bin.t [directory]: Directly opens or attaches to a tmux session for that directory.
It automatically names sessions based on the folder name and handles attaching/detaching seamlessly.