Готовый сетап рабочего окружения без лишней возни
Репозиторий давно не обновлялся
Последнее обновление было 9 месяцев назад.
В репозитории lewagon/dotfiles есть любопытная аномалия. Форков у него заметно больше, чем звёзд: 28 тысяч против 21 тысячи. В мире открытого кода такое встречается редко.
Причина простая. Международный буткемп Le Wagon использует этот репозиторий для настройки рабочих машин тысяч своих студентов в первый же день учёбы. Каждый новичок форкает проект себе, запускает скрипт и получает настроенный терминал, редактор и Git.
Если вам хоть раз приходилось тратить полдня на перенос конфигов на новый ноутбук, вы поймете ценность такого набора.
Что внутри набора
Здесь нет попыток превратить терминал в космический корабль или переписать всё на Lua. Конфигурация предельно практичная, ориентированная на веб-разработку и работу в команде.
Стек инструментов строится вокруг трех вещей:
- Oh My Zsh с темой и базовыми плагинами
- Git с набором рабочих алиасов и правильными настройками по умолчанию
- Visual Studio Code с заготовленным списком полезных расширений
Вся магия таких сборок заключается в мелочах. Например, здесь заранее прописан глобальный файл .gitignore_global. В него вынесен системный мусор вроде .DS_Store для macOS, временных файлов редакторов и дампов памяти. Мелочь, но новички перестают случайно пушить системные файлы в общий репозиторий.
Полезные сокращения для Git
Самая заметная часть любого dotfiles-репозитория — алиасы. В конфиге Le Wagon собраны сокращения, которые экономят тысячи нажатий клавиш в день:
# Быстрый статус и коммиты
alias gs='git status'
alias ga='git add'
alias gc='git commit -m'
alias gco='git checkout'
# Красивый вывод истории коммитов
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
Команда gl заменяет стандартный длинный лог компактным цветным деревом коммитов. Сразу видно, кто автор изменений, когда они внесены и как ветвились задачи.
Как устроен терминал
В качестве командной оболочки авторы выбрали Zsh с фреймворком Oh My Zsh.
В .zshrc включены плагины для автодополнения и подсветки синтаксиса команд прямо во время ввода. Если вы опечатались в названии команды, терминал подсветит её красным до того, как вы нажмёте Enter. В строку приглашения выводится текущая ветка Git. При наличии незакоммиченных правок меняется цвет индикатора.
Это избавляет от необходимости постоянно вводить git status перед каждым переключением ветки.
Кому пригодится этот репозиторий
Если у вас уже есть выстраданный годами конфиг для Neovim и кастомные скрипты, чужие дотфайлы вам вряд ли нужны. Но проект пригодится в двух случаях:
- Вы только начинаете настраивать свой терминал и не хотите разбираться в сотнях параметров Zsh вручную.
- Вам нужно быстро развернуть адекватную среду разработки на чистой машине или рабочем ноутбуке.
README у проекта намеренно лаконичный, там буквально пара строк со ссылками. Вся суть спрятана в самих конфигурационных файлах .zshrc, .gitconfig и скрипте установки install.sh.
Проще всего зайти в репозиторий, открыть .gitconfig или .zshrc и забрать себе удачные алиасы и функции. Либо форкнуть репозиторий, отредактировать под свои нужды имя пользователя и почту, а затем использовать как персональный стартовый шаблон для новых машин.
