Frequently asked questions about Natilius.
General
What is Natilius?
Natilius is an automated Mac developer environment setup tool. It installs and configures 100+ development tools, applications, and system settings with a single command.
Is it safe to run?
Yes. Natilius is:
- Open source — All code is visible on GitHub
- Idempotent — Safe to run multiple times
- Non-destructive — Won't overwrite existing configurations without asking
- Dry-run capable — Preview changes with
--checkbefore applying
Does it work on Apple Silicon?
Yes. Natilius fully supports both Intel and Apple Silicon (M1/M2/M3/M4) Macs.
What macOS versions are supported?
macOS 13 (Ventura) and later. Some features may work on older versions but aren't officially supported.
Installation
How do I install Natilius?
# One-liner
curl -fsSL https://raw.githubusercontent.com/vincentkoc/natilius/main/install.sh | bash
# Or via Homebrew
brew install vincentkoc/tap/natilius
How do I uninstall?
# If installed via installer
~/.natilius/uninstall.sh
# If installed via Homebrew
brew uninstall natilius
Can I install without sudo?
Yes. Set SKIP_SUDO=true:
SKIP_SUDO=true natilius setup
Note: Some features (like system preferences) require sudo.
Configuration
Where is the config file?
~/.natiliusrc — Copy from .natiliusrc.example and customize.
How do I enable/disable modules?
Edit the ENABLED_MODULES array in ~/.natiliusrc:
ENABLED_MODULES=(
"system/updates"
"applications/homebrew"
# "dev_environments/python" # Commented = disabled
)
How do I use profiles?
# Use a built-in profile
natilius --profile devops
# Or create your own
cp ~/.natiliusrc ~/.natiliusrc.myprofile
natilius --profile myprofile
Can I customize tool versions?
Yes. Set version variables in .natiliusrc:
PYTHONVER="3.12"
NODEVER="20"
RUBYVER="3.3"
Troubleshooting
Homebrew installation fails
- Check your internet connection
- Run
xcode-select --installfirst - Try:
HOMEBREW_NO_AUTO_UPDATE=1 natilius setup
Permission denied errors
- Ensure you have admin rights
- Check if
SKIP_SUDO=trueis set unintentionally - Run:
sudo chown -R $(whoami) ~/.natilius
A module keeps failing
- Run with verbose mode:
natilius --verbose - Check logs:
ls -la ~/.natilius/logs/ - Run just that module in isolation:
natilius setup --module <module/path> - Open an issue
How do I reset everything?
# Remove Natilius
~/.natilius/uninstall.sh
# Optionally remove installed tools
# (Be careful - this removes Homebrew and everything installed through it)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
Automation
Can I use this in CI/CD?
Yes. Use non-interactive mode:
SKIP_SUDO=true NONINTERACTIVE=true natilius setup
Does it work with Terraform?
Yes. See Terraform Guide for examples.
Can I provision multiple Macs?
Yes. Combine with:
- Terraform — For cloud/remote Macs
- Ansible — For fleet management
- MDM — Works alongside Jamf, Kandji, etc.
Contributing
How do I add a new module?
See Creating Modules.
How do I report a bug?
Open a GitHub issue with:
- macOS version
- Natilius version (
natilius --version) - Steps to reproduce
- Error logs