My personal dotfiles for macOS. These configurations help me maintain a consistent development environment across machines.
- 🐚 Zsh configuration with useful aliases and functions
- 🛠 Git configuration with extensive aliases for common operations
- 🚀 Flutter development setup
- ☁️ Google Cloud SDK integration
- 🎨 Colorful terminal experience
- 🍺 Homebrew package management
- 📦 Node.js and Ruby development tools
# Clone the repository
git clone https://github.com/nandupokhrel/dotfiles.git ~/.dotfiles
# Run the installation script
cd ~/.dotfiles
make all
- Ensure you have Git installed on your new machine
- Make sure you have access to your GitHub account
- Have your SSH keys ready (if using SSH for Git)
-
Clone the Repository
git clone https://github.com/nandupokhrel/dotfiles.git ~/.dotfiles
-
Install Dependencies
cd ~/.dotfiles make all
-
Verify Installation
# Check if all configurations are properly linked ls -la ~ | grep "^\." | grep -v "\.$" # Test git configuration git config --list # Test zsh configuration zsh -l
Before setting up on a new machine, you might want to backup your current configurations:
# Create a backup directory
mkdir -p ~/dotfiles_backup
# Backup existing dotfiles
cp ~/.zshrc ~/dotfiles_backup/
cp ~/.gitconfig ~/dotfiles_backup/
cp ~/.gitignore ~/dotfiles_backup/
# Backup any other custom configurations
cp -r ~/.config ~/dotfiles_backup/
If you encounter any issues during transfer:
-
Check Permissions
# Ensure proper permissions chmod -R u+rw ~/.dotfiles
-
Reset Links
# Unlink existing configurations make unlink # Relink configurations make link
-
Verify Homebrew
# Check Homebrew installation which brew # Update Homebrew brew update
-
Check Shell Configuration
# Verify zsh is your default shell echo $SHELL # If not, change it chsh -s $(which zsh)
.
├── bin/ # Executable scripts
├── config/ # Configuration files for various tools
├── install/ # Installation files for packages
│ ├── Brewfile # Homebrew packages
│ ├── Caskfile # macOS applications
│ ├── Codefile # VS Code extensions
│ └── npmfile # Global npm packages
├── runcom/ # Shell configuration files
│ ├── .gitconfig # Git configuration and aliases
│ ├── .gitignore # Git ignore rules
│ └── .zshrc # Zsh shell configuration
├── Makefile # Installation and setup automation
└── README.md # This file
The configuration includes numerous git aliases for common operations:
git a
- Stage all changesgit co
- Checkout with fetchgit cob
- Create and checkout new branchgit p
- Push changesgit r
- Rebase- And many more...
make all
- Install everything for your OSmake macos
- Install everything for macOSmake linux
- Install everything for Linuxmake link
- Link dotfiles to home directorymake unlink
- Unlink dotfiles from home directorymake packages
- Install all packagesmake brew
- Install Homebrewmake git
- Install Git and Git extrasmake npm
- Install NVM and latest LTS Node.jsmake ruby
- Install Rubymake test
- Run tests
- Fork this repository
- Modify the configurations to suit your needs
- Run
make link
to apply changes
MIT License - feel free to use and modify for your own needs.