11 мин.

Моя конфигурация macOS

Моя конфигурация macOS

Я обычно люблю настраивать каждый раз телефон, ОС или другой продукт с нуля каждый раз. Никогда не делал бекап или перенос со старого устройства автоматически. По этому, хочет задокументировать текущее состояние macOS, чтобы при миграции было можно использовать как источник правды.

Вводные

Общее использование macOS у меня идет с разделением по пользователям. Я работаю удаленно с ноутбука, который так же используется для всего остального. И чтобы не мешать глобальные настройки и не переключать git с одних настроек на другие было решено просто сделать отдельного пользователя.

Сейчас у меня всего один рабочий компьютер MacBook Pro 2019 года. Купил я его перед самым новым годом в Финляндии.
P.S. Когда-то я точно закончу монтировать видео с поездки, а то занимает 200 Гб.

Параметры MacBook Pro

У меня долгое время был внешний монитор, но сейчас я использую только MacBook Pro. По этому некоторые настройки остались еще с того времени.

Фото с внешним монитором - Friday, April 8, 2022

Внешний монитор

Настройки macOS

Все настройки в macOS я думаю у меня близкие к стандартным. В macOS есть удобная функция вывода кнопки переключения сразу в Menu Bar и выходу из текущего пользователя по Shift+Cmd+Q.

Fast User Switch

Баузер: Firefox & Chrome

Основные браузеры на данный момент. Я пользуюсь сразу двумя для разных задач.

  • Chrome: Разработка под web и использование в роли основного.
  • Firefox: Для чтения статей, я настраиваю Simple Translate на мгновенный перевод в этом браузере. Для постоянного использования это не удобно, так что решил сделать в другом браузере данные настройки и просто менять браузер.

Расширения в браузере:

  • Bitwarden: В качестве хранения паролей, но хочется поменять на self-hosted;
  • OneTab: Позволяет закидывать открытые вкладки в хранилище. Использую как Reading list, потому что можно удобно экспортировать весь список;
  • uBlock Origin: Все таки с ним жить приятнее;
  • Google Translate или Simple Translate;

Brew

Это пакетный менеджер как в Linux. Очень удобно пользоваться им для установки всего разного. Обычно, если ты хочешь поставить Open-Source программу, то для macOS будет вариант с brew. Так же вариант занять время, когда нечего делать, то пишешь brew update и потом изучаешь обновления.

Вывод brew list

Для вывода списка пакетов можно использовать brew list или brew leaves для вывода только top-level пакетов. Всего я у себя вижу 106 основных пакетов. Думаю, я использую только около 30%. Можно разделить вывод на 2 категории.

  1. Formulae - CLI приложения;
  2. Casks - GUI приложения;

Далее я буду показывать только то, что установил на новой системе.

Casks (41 шт. установлено)

cyberduck - cask

Удобное приложение, если хочет редактировать файлы на удаленном сервере. Но есть одна раздражающая, но понятная функция. Если она открыта, а ты решил выключить MacBook, то каждый раз при выходе cyberduck просит приобрести себя. Причем это прерывает процесс выключения. Так что ты нажал выключить, ушел, вернулся и видишь окошко одно от cyberduck...

casks-screenshots cyberduck

monitorcontrol - cask

Приложения для управления внешним монитором. У меня подключен монитор был по Thunderbolt 4 и данное приложение позволяло менять яркость и громкость динамиков с macOS, не трогая монитор. Позволяет менять громкость с помощью hot-keys

casks-screenshots monitorcontrol

podman-desktop - cask

Альтернатива Docker Desctop. Пока на момент очень сырая, поставил больше периодически проверять состояние. Но выглядит как отличное решение для запуска контейнеров.

casks-screenshots podman-desktop

rectangle - cask

Когда у тебя широкоформатный экран, то данное решение помогает хоть немного упорядочить окна на экране.

casks-screenshots rectangle

vagrant - cask

Очень удобное решение для описания конфигурации виртуальных машин. Можно использовать с различным провайдерами VM.

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"
  config.vm.box_version = "1.0.282"
end

alacritty - cask

Интересный эмулятор терминала, правда которым я особо не пользуюсь 😅. Так как в нем удобных функций от iTerm2.

casks-screenshots alacritty

secure-pipes - cask

Приложения для прокидывания портов с удаленного сервера на локальный или наоборот. В общем SSH туннель в оболочке. Иногда удобно, если порт закрыт снаружи, например firewall.

casks-screenshots secure-pipes

drawio - cask

Одно из самых удобных приложений для рисования диаграмм.

casks-screenshots drawio

postman - cask

Приложения для отправки запросов и дебаггирования REST API. Довольно удобное.

casks-screenshots postman

sloth - cask

Приложение показывает все используемы процессом ресурсы: открытые файлы, сокеты и прочее.

casks-screenshots sloth

virtualbox - cask

Приложения для виртуализации x86. Я использую его, если нужно поднимать машины Vagrant.

casks-screenshots virtualbox

element - cask

Приложения для общения в сети Matrix.

casks-screenshots element

obsidian - cask

Система знаний, которая позволяет записывать заметки об всем. Я записываю туда разные факты о финансах или программирования. Есть например заметка по языку Go или Python.

casks-screenshots obsidian

qbittorrent - cask

Торрент клиент, работает почему-то лучше, чем другие у меня 🤔.

casks-screenshots qbittorrent

wireshark - cask

Очень полезная программа по анализу трафика. Часто помогает разобраться и посмотреть, доходит ли пакет или нет до сервера. Кстати, можно записывать и на стороне tcpdump и потом открывать в wireshark.

casks-screenshots wireshark

thunderbird - cask

Мой основной на данный момент почтовый клиент 😭. Перешел на него, так как не нашел ничего лучше пока для агрегации большого кол-во email ящиков. casks-screenshots thunderbird

Formulae (106 шт. установлено)

А теперь пойдут CLI приложения.

formulae-screenshots btop

  • btop - огромный dashboard со статистикой по машине, можно ставить иногда на машину;
  • coreutils - основной набор GNU утилит на macOS. В macOS оно тоже все есть, но иногда другой список параметров или еще что;
  • dive - позволяет изучать Docker Image под микроскопом;
  • figlet - делает красивые ASCII art для комментариев в коде;
  • hashcat - позволяет восстанавливать пароль по hash;
  • terraform - использую для конфигурировать AWS в декларативном стиле;
  • helm - пакетный менеджер для Kubernetes;
  • htop - ставлю на все сервера, более красивый top, но не такой, как btop;
  • jq - очень крутая штука для запросов к JSON на ходу;
  • k6 - система для load testing на Go и JavaScript. Использовал для тестирования Kubernetes кластера;
  • kind - запуск Kubernetes в контейнере, бывает удобно что-то проверить;
  • lima - крутая идея, по запуску команд в VM Linux с пробросом всего из host машины;
  • lnav - комбайн для анализа различных логов;
  • duf - удобный вывод информации о дисках;
  • neofetch - информация о системе, чтобы покрасоваться в чате;
  • netcat - nc, который встречается в половине статей про сети;
  • nmap - скан порто и просто сети;
  • node - Node.js
  • parallel - команда из Linux для запуска процессов параллельно;
  • podman - аналог Docker;
  • poetry - пакетный менеджер для Python;
  • radare2 - если хочешь почувствовать себя хакером и заняться реверс-инжинирингом;
  • powerlevel10k - Zsh тема, которая была на фото;
  • teleport - программа для подключения к серверам через Teleport. Довольно удобно, если только одна точка входа в сеть;
  • telnet - telnet команда
  • tree - вывод дерева файлов;
  • vale - линтер для обычного текста, говорит где ты кого-то задел в душевных чувствах;
  • neovim - просто vim редактор;
  • watch - watch из Linux;
  • wget - wget из Linux;
  • zsh - последняя версия zsh;
  • zsh-autosuggestions - очень удобное автодополнение в zsh;

Программы

Но не все можно поставить с помощью brew или не все я поставил с его помощью. Хотя лучше пользоваться им.

Adobe пакет

Да, все очень удобно им редактировать.

  • Adobe Photoshop - фото;
  • Adobe Premiere - видео, но перешел на DaVinci Resolve;
  • Adobe Audition - обработка звука;
  • Adobe After Effects - превью для видео делал в нем;

Microsoft пакет

Ну куда же без него. Хотя радует, что в последнее время у меня все больше и больше работы с Google Docs или чем-то не так сильно закрытым.

  • Microsoft Excel
  • Microsoft PowerPoint
  • Microsoft Teams
  • Microsoft Word

AnyDesk

Отличная замена для TeamViewer.

AnyDesk

DaVinci Resolve

Оказалось, что для монтирования видео и синхронизации звука в подкасте - это отличное решение. При этом работает шустрее Adobe Premiere по ощущениям.

DaVinci Resolve

Docker

Отличное решение по запуску контейнеров, но кажется у меня будет постепенный переход на podman. На серверах уже podman, но локально как то не так удобно пока.

Docker

iTerm

Мой основной терминал для всего. Может он и не супер новый, на Rust и с GPU рендерингом, но стабильный и много встроенных функций. Например, переход по клику в терминале с зажатым Option или разделение экрана на несколько с помощью Ctrl+Shift+D.

iTerm

JetBrains Toolbox

Набор редакторов от JetBrains. Часто пользуюсь им, но конечно не всем редакторами 😄

  • GoLand
  • PyCharm
  • DataGrid - удобно для поиска по DB.
  • IntelliJ IDEA
  • WebStorm - удобно делать рефактор JavaScript и прочему web.
  • CLion - C++ код, приходилось и такое...

GoLand

Lens

Очень удобный интерфейс для Kubernetes, часто пользуюсь им.

Lens

OBS

Один из самых лучших инструментов для записи экрана. В последней версии macOS даже научился записывать звук системы, а не только микрофон. Да-да, тут это проблема.

OBS

OpenVPN Connect

Используется, чтобы подключаться к различным своим VPN.

Parallels Desktop

Одна из лучших виртуализаций, которые я встречал. Работал долгое время сразу в ней. Приходилось разрабатывать на C++ низкоуровневое приложение одно, которое требовало так же камеру и микрофон. Радует, что Parallels автоматически все прокидывает. Я был один в команде, кто работал на Linux, но у него все работало. Даже не у всех на Linux автоматически заводится.

Raycast

Замена Spotlight в macOS. Родной я отключил, потому что он бесконечно сканировал систему, из-за чего MacBook грелся. А Raycast я пользую очень не часто на самом деле.

Raycast

Shottr

Лучшая вещь для скриншотов в macOS, если нужно потом что-то показать на нем или обрезать.

Shottr

Skype

Вынуждено еще стоит. Была бы моя воля, не пользовался бы 😅

Slack

Вынуждено еще стоит. Была бы моя воля, не пользовался бы 😅 x2

Sublime Merge

Удобный инструмент для работы с Git репозиторием от создателя Sublime Text! Я думаю он один из самых быстрых и надежных, что я видел. Но пользуюсь не очень часто, хватает терминала обычно и встроенного в VS Code.

Sublime Merge

Sublime Text

До VS Code был основным моим редактором кода. Но до сих пор открываю его, когда файл больше пары мегабайт. Единственный, кто легко открывает огромные journalctl логи, когда тебе присылают их со сломанной машины 😄

Sublime Text

Telegram

Считаю его одним из лучших способов связи 1 на 1. Для работы в группе не так сильно зашло.

Telegram

Tailscale

Грубо говоря, позволяет объединять девайсы в локальную сеть, идея крутая! Я пробовал его даже использовать как VPN, но скорость не очень высокая, если сравнивать с полноценным VPN.

The Unarchiver

Использую как основной разархиватор. Я уже и забыл, что это за программа. Просто кликаю на архив и через пару секунд в вижу распакованную папку. Кажется, что это лучший отзыв для программы, которая решает проблему.

The Unarchiver

Turbo Boost Switcher

Очень полезное приложение, как мне кажется. Оно отключает Turbo Boost на MacBook Pro. Потому что он любит резко задрать частоты на CPU и быстро перегреться. Это сдерживает его. Правда раздражает, что каждый раз оно требует пароля. Это решается, но пока руки не дошли сделать 🙂

UTM

Это интерфейс для QEMU. Очень мощной системы эмуляции, в которой нужна PhD, что бы разобраться. UTM спасает в простых случаях и так же работает на M1, а Virtual Box нет 😉

UTM

VLC

Проигрыватель любого видео, так же умеет перекодировать его! Отличное решение, когда вдруг решил посмотреть фильм.

VLC

WireGuard

Мой основной VPN сейчас, который я постоянно держу включенным на телефоне и часто на компьютере. Работает очень быстро, что меня радует.

WhatsApp

Отношение как к Skype, но нужно, чтобы не ходить за телефоном и скачать файл сразу на MacBook

zoom.us

Ну а куда сегодня без Zoom и звонков 😅

Zoom

Фуух, кажется это все из того, что я бы хотел записать.

Удобный hotckeys

Скриншоты

Основное, что полезно - это если во время создания скриншота нажать пробел, что можно делать скриншоты окна. Я сделал так все фотографии для данной статьи.

  • Shift + Cmd + 4 - выделить область, сохранить в буфер. Самое полезное;
  • Shift + Cmd + 5 - скриншот области, сохранить куда-то (папка).

Система

  • Shift + Cmd + Q - Выйти из текущего пользователя;

Заключение

Надеюсь данная заметка поможет мне в будущем в настройке следующего окружения. На память фото в момент написания этого поста. Осталась огромная область с настройкой все программ, но я думаю это лучше сделать в виде Ansible-like скриптов, чтобы потом установить все это одной командой. Идея очень здравая, как мне кажется.

А пока спасибо 👋

Фото из Белград, Сербия - Friday, December 2, 2022 Фото из Сербии во время создания поста