Skip to content

πŸ› οΈ My macOS dotfiles managed with GNU Stow.

License

Notifications You must be signed in to change notification settings

zeikar/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

πŸ› οΈ My macOS Dotfiles

macOS License GNU Stow

πŸš€ Minimal and clean dotfiles for macOS, managed with GNU Stow.

✨ Features

  • πŸ”§ Managed with GNU Stow for clean symlink-based configuration
  • πŸ” Secure secrets management with .zshrc.local (local only)
  • πŸš€ Quick setup on new machines
  • πŸ“¦ Includes: zsh configuration

πŸ“‹ Prerequisites

Required

# Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# GNU Stow
brew install stow

Recommended

# Zsh plugins
brew install zsh-autosuggestions zsh-syntax-highlighting

# Python package manager
brew install uv

# Ruby
brew install ruby

πŸš€ Quick Start

# 1. Install dotfiles
./install.sh

# 2. Add your secrets (optional)
nano ~/.zshrc.local  # or code ~/.zshrc.local

# 3. Reload shell
source ~/.zshrc

The install script automatically creates ~/.zshrc.local for your secrets (API keys, tokens, etc.).

Example ~/.zshrc.local

export GITHUB_TOKEN="your_token_here"
export OPENAI_API_KEY="your_key_here"

πŸ” Secrets Management

Sensitive data goes in ~/.zshrc.local (automatically created, lives in your home directory):

dotfiles/zsh/.zshrc              β†’ Public config (tracked in git)
dotfiles/zsh/.zshrc.local.example β†’ Template (tracked in git)
~/.zshrc.local                    β†’ Your secrets (local only, NOT in repo)

The .zshrc file automatically loads ~/.zshrc.local if it exists.


πŸ“‚ Structure

dotfiles/
β”œβ”€β”€ zsh/
β”‚   β”œβ”€β”€ .zshrc                   # Main zsh configuration
β”‚   └── .zshrc.local.example     # Template for secrets
β”œβ”€β”€ install.sh                   # Installation script
└── README.md

🀝 Contributing

Feel free to fork this repo and customize it for your own setup! If you have suggestions or improvements:

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is open source and available under the MIT License.


⭐ Show your support

Give a ⭐️ if this project helped you!

About

πŸ› οΈ My macOS dotfiles managed with GNU Stow.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages