Про менеджмент конфиговКогда переезжаешь с одного компьютера на другой, самый неприятный процесс — это переносить все настройки и конфиги со старого, чтобы всё было привычно. Но можно и облегчить этот процесс, заранее храня конфиги в более удобном виде
Для этой цели я взял утилиту под названием
yadm. Без особых причин, просто несложная утилитка, покрывающая потребности. Другие варианты особо не ресерчил.
Принцип работы yadm прост: это обертка над git. Файлы, которые нужно синхронизировать, добавляются в индекс git-а с помощью команды
yadm add
, потом коммитятся с помощью
yadm commit
, потом пушатся с помощью
yadm push
. На втором компьютере выполняется команда
yadm clone <url>
и готово! Также есть возможность задать bootstrap скрипт / исполняемый файл, в который прописать вообще любые команды для настройки.
Собственно, я успешно вынес основные конфиги в гит-репу. Что у меня там лежит:
- fish+starship. Рассказывал о них в прошлом посте
-
.gitconfig
. Устанавливает name и email. Также есть поддержка файла
.gitconfig.local
для локальных оверрайдов (например, для настроек подписи коммитов, которая работает только на личном маке)
-
.Brewfile
. Мне кажется, очень недооцененная фича homebrew. Позволяет одной командой
brew bundle --global
установить сразу все формулы/каски из
~/.Brewfile
- конфиг для iterm2
- NerdFont. Специальный шрифт, чтобы рисовать иконочки в терминале. Сначала недоумевал как бы его синхронизировать тоже, но в итоге оказалось что его достаточно просто добавить в индекс.
- скрипт для настройки в
.config/yadm/bootstrap
Ничего сверхъестественного, просто базовые конфиги. Но всё равно ощущается как магия, когда на рабочий макбук буквально в одну команду начинает вести себя так же, как личный.
Посмотреть можно тут:
github.com/Loskir/dotfiles