Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,31 @@ dotfiles version # Show version

**Note**: The `export PATH` command temporarily adds Dart's global executables to your PATH. Add it to your shell config file (`.zshrc`, `.bashrc`, etc.) to make it permanent.

### Mole

Deep clean and optimize your Mac with mole, a unified toolkit for cleaning caches, uninstalling apps, and system optimization.

```bash
mo # Interactive menu
mo clean # Deep cleanup
mo uninstall # Remove apps + leftovers
mo optimize # Refresh caches & services
mo analyze # Visual disk explorer
mo status # Live system health dashboard
mo purge # Clean project build artifacts

mo touchid # Configure Touch ID for sudo
mo update # Update Mole
mo remove # Remove Mole from system
mo --help # Show help
mo --version # Show installed version

mo clean --dry-run # Preview the cleanup plan
mo clean --whitelist # Manage protected caches
mo uninstall --force-rescan # Rescan applications and refresh cache
mo optimize --whitelist # Manage protected optimization rules
```

### Ollama

Rust CLI for managing Ollama models. Run with `./bin/ollama-tool` or see [ollama/README.md](./ollama/README.md) for details.
Expand All @@ -50,7 +75,7 @@ This script pulls the latest changes and copies `.gitconfig`, `.pre-commit-confi

### Initial Mac Setup

For a new Mac, run the setup script to install actionlint, Cocoapods, Docker CLI, Flutter, GitHub CLI, GitLab CLI, Go, Homebrew, LLVM, Node.js, Ollama, opencode, Python, QEMU, Ruby, Rust, yamllint, Zsh, and configure Git hooks globally. It also offers to log in to Docker Hub as 'harpertoken':
For a new Mac, run the setup script to install actionlint, Cocoapods, Docker CLI, Flutter, GitHub CLI, GitLab CLI, Go, Homebrew, LLVM, mole, Node.js, Ollama, opencode, Python, QEMU, Ruby, Rust, yamllint, Zsh, and configure Git hooks globally. It also offers to log in to Docker Hub as 'harpertoken':

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bniladridas/github-dotfiles/main/setup-mac.sh)"
Expand Down
19 changes: 14 additions & 5 deletions setup-mac.sh
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,14 @@ brew install actionlint
echo "Installing yamllint..."
brew install yamllint

echo "Installing mole..."
if brew install tw93/tap/mole; then
log "Mole installed successfully."
else
log "ERROR: Failed to install mole."
exit 1
fi

log "Installing Flutter..."
if brew install flutter; then
log "Flutter installed."
Expand Down Expand Up @@ -207,14 +215,15 @@ echo "Installing QEMU..."
brew install qemu

echo "Setting up Docker Hub..."
read -r -p "Do you want to log in to Docker Hub as 'harpertoken'? (y/N): " login_choice
read -r -p "Do you want to log in to Docker Hub? (y/N): " login_choice
if [[ "$login_choice" =~ ^[Yy]$ ]]; then
read -r -p "Enter Docker Hub username: " docker_username
read -r -p "Enter Docker Hub token: " docker_token
if [ -n "$docker_token" ]; then
echo "$docker_token" | docker login -u harpertoken --password-stdin
echo "Logged in to Docker Hub as harpertoken."
if [ -n "$docker_username" ] && [ -n "$docker_token" ]; then
echo "$docker_token" | docker login -u "$docker_username" --password-stdin
echo "Logged in to Docker Hub as $docker_username."
else
echo "No token provided, skipped."
echo "Username or token not provided, skipped."
fi
else
echo "Skipped Docker Hub login."
Expand Down