Как я настраивал macOS для веб-разработки и сходил с ума
Почему я вообще полез в мак
Я всю жизнь сидел на Windows и Linux. macOS для меня был тёмным лесом: дорогие компы, странная клавиатура, и вообще «для дизайнеров». Но когда я устроился в контору, где весь отдел разработки сидел на макбуках, пришлось вливаться.
Первый MacBook Air M1 мне выдали на работе. Я думал: ну мак и мак, чем он лучше? Первые две недели я его ненавидел: Cmd вместо Ctrl, нет Delete, окна сворачиваются не как в Windows. Бесило всё.
Потом я начал разбираться и понял — вещь, но только если под себя настроить.
Terminal — это база
Встроенный терминал в macOS — ни о чём. Я сразу поставил iTerm2. Бесплатно, куча настроек, разделение на панели, профили. Первым делом настроил цветовую схему под Solarized Dark — глаза перестали болеть после полуночи.
Дальше — пакетный менеджер. На Linux я привык к apt. На macOS — Homebrew. Ставится одной командой:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Через brew я накатил всё, что нужно: git, node, python, php, nginx, mysql. Работает быстрее, чем я ожидал. Правда, brew иногда ломается после обновления macOS — пришлось запомнить команду brew doctor.
Среда разработки
Перепробовал VS Code, PHPStorm, Sublime. Остановился на VS Code — он легче PHPStorm и гибче Sublime. Расширения под PHP, Python, Docker — встали без проблем.
C Docker на Mac отдельная история. Docker Desktop жрёт как не в себя — 4 GB RAM запросто. Я перешёл на Colima (альтернатива Docker Desktop), он легче и работает через Lima. Ставится через brew:
brew install colima && colima start
Разница в памяти — раза в два. Docker Desktop сжирал 2-3 гига, Colima — около 1-1.5.
Что меня бесит до сих пор
Файловая система case-insensitive по умолчанию. У меня были проекты, где папка называлась Config, а код обращался к config. На Linux работало, на Mac падало с ошибкой. Пришлось создавать case-sensitive том через Дисковую утилиту.
Finder. Он ужасен. До сих пор не могу привыкнуть, что нет «вырезать» для файлов (Cmd+X не работает в Finder, только Cmd+C и Cmd+Option+V). И скрытые файлы по умолчанию не видны — пришлось забить в терминал defaults write com.apple.finder AppleShowAllFiles YES.
Обновления. После каждого мажорного обновления macOS (а они выходят раз в год) что-то отваливается: то brew ломается, то Docker не стартует, то права на папки слетают. Я уже привык выделять день после обновления на починку.
Сравнение с Windows и Linux
Теперь я могу сравнить все три системы для веб-разработки. Linux — идеал. Всё из коробки, пакеты ставятся быстро, Docker нативный. Но на десктопе Linux — это боль с драйверами, звуком и офисом.
Windows — отличный компромисс. WSL2 реально работает, VS Code летает, игры тоже. Но терминал под WSL — это прослойка, которая иногда глючит. Docker Desktop на Windows — ещё то путешествие.
macOS — для тех, у кого есть деньги и кто готов мириться с особенностями. Если у вас MacBook — сидите на нём, не пытайтесь эмитировать Windows. Примите Cmd, забудьте Ctrl. Примите отсутствие Delete, пользуйтесь Fn+Backspace. Mac — это секта, но внутри неё уютно.
Что я рекомендую новичку на Mac
iTerm2 вместо стандартного терминала. Homebrew — обязательно. VS Code — лучший выбор. Colima вместо Docker Desktop. Rectangle (бесплатно) — для управления окнами, чтобы не мышить. AltTab — чтобы переключать окна как в Windows (я так привык).
И главное — не ставьте параллельно Windows через Boot Camp или Parallels. Если вам нужен Windows — купите отдельный ПК или поднимите ВМ на сервере. MacBook для Windows — извращение.
Мой финальный конфиг
Сейчас у меня на MacBook: iTerm2 + zsh + Powerlevel10k, VS Code с Remote-SSH (пишу код локально, запускаю на сервере), Colima для Docker, Homebrew для пакетов. Серверная часть полностью на Linux через SSH. Получилось удобно: клавиатура мака + мощь Ubuntu на удалёнке.
И да, я всё ещё нажимаю Ctrl+C вместо Cmd+C в терминале. Ничего не могу с собой поделать.
Итог
Через полгода я привык. Сейчас мне норм, даже удобно. Но первый месяц был адом.