Files
dotfiles/.serena/memories/darwin_system_utilities.md
2025-10-13 14:14:45 +03:00

1.9 KiB

Darwin (macOS) System Utilities

Available Command Paths

Based on the current system setup:

Core System Commands

  • git: /opt/homebrew/bin/git (Homebrew version)
  • find: /usr/bin/find (system version)
  • cd: shell built-in command
  • ls: aliased to eza -h -s=type --git --icons --group-directories-first
  • grep: aliased to grep --color

Modern Alternatives (Rust-based)

  • fd: /Users/ivuorinen/.local/share/cargo/bin/fd (modern find)
  • rg: /Users/ivuorinen/.local/share/cargo/bin/rg (ripgrep for text search)
# Use fd instead of find when possible
fd "*.sh"                    # Find shell scripts
fd -t f -e lua              # Find Lua files
find . -name "*.sh"         # Fallback to system find
# Use rg (ripgrep) instead of grep when possible
rg "function.*bash"         # Search for bash functions
rg -t shell "export"        # Search in shell files only
grep "pattern" file.txt     # Fallback to system grep

Directory Navigation

# Use eza features via ls alias
ls                          # Shows icons, git status, grouped directories
ls -la                      # Long format with hidden files
cd /full/path               # Always use full paths in scripts

Path Configuration

The system is configured with these PATH priorities:

  1. ~/.local/bin (user scripts)
  2. ~/.dotfiles/local/bin (dotfiles scripts)
  3. ~/.local/share/bob/nvim-bin (Neovim)
  4. ~/.local/share/cargo/bin (Rust tools like fd, rg)
  5. /opt/homebrew/bin (Homebrew packages)
  6. /usr/local/bin (system packages)

Shell Compatibility

The dotfiles support multiple shells through config/shared.sh:

  • Functions prefixed with x- work across bash, zsh, and fish
  • Path management handled automatically per shell
  • Environment variables set appropriately per shell