Template - inpudiy/zmk-guide GitHub Wiki

В этой части мы разберёмся с тем, как подготовить репозиторий, пробежимся по основным файлам и директориям и узнаем, как редактировать и коммитить файлы на GitHub прямо на сайте. Эта часть направлена на абсолютных новичков, и здесь описаны только базовые концепции по использованию гита, а также структура директорий прошивки. Для тех, кому интересна только ZMK, можете скопировать шаблон и сразу перейти к третьему заголовку.

1. Подготавливаем основу

Первым шагом нам нужно склонировать шаблон с уже готовыми основными файлами и настроенной сборкой прошивки. Переходим на страницу репозитория https://github.com/zmkfirmware/unified-zmk-config-template и нажимаем кнопку Use This Template. В выпадающем окне выбираем Create a new repository.

template

На странице создания репозитория вписываем любое имя и выбираем тип приватности — закрытый или открытый. Это никак не повлияет на сборку прошивки, поэтому можете выбрать что угодно. Жмём Create repository и идём дальше.

create

Нас встречает главная страница репозитория, и нас интересуют только две вкладки: это поле со всеми файлами на странице Code и страница Actions.

repo


2. Редактирование файлов

На вкладке Code в меню с файлами жмём на любой из них и попадаем на страницу с кодом. Слева видно меню файлов и директорий, а по центру — поле с кодом:

image

Чтобы отредактировать файл, нужно нажать на карандашик справа сверху:

edit

Теперь после редактирования нам нужно «сохранить изменения». Для этого жмём Commit changes:

comm

Видим выпадающее окно с полем для написания сообщения коммита — пропускаем его и снова жмём Commit changes. Сборка ZMK настроена так, что после каждого коммита она запускается, и на вкладке Actions можно отследить этот процесс. Подробнее об этом будет описано в другой части.

commit


3. Основные директории и файлы

build.yaml — этот файл хранит в себе названия плат и контроллеров, для которых будет производиться сборка. Вот пример такого файла для KOMETA вместе со сборкой файла для сброса (подробнее этот процесс будет описан в другой статье).

include:
  - board: nice_nano_v2
    shield: kometa_left
  - board: nice_nano_v2
    shield: kometa_right
  - board: nice_nano_v2
    shield: settings_reset

module.yml — он хранится в директории zephyr. Для базовой сборки достаточно того, что уже написано в шаблоне.

build:
  settings:
    board_root: .

west.yml — этот файл находится в директории config и описывает модули, которые используются для сборки. В него можно импортировать другие модули для дополнительного функционала, но для обычной сборки достаточно того, что уже написано в шаблоне.

manifest:
  remotes:
    - name: zmkfirmware
      url-base: https://github.com/zmkfirmware
  projects:
    - name: zmk
      remote: zmkfirmware
      revision: main
      import: app/west.yml
  self:
    path: config

Напоследок нас интересует директория boards/shields. В ней в следующей статье будут созданы файлы для конфигурации матрицы и основных настроек. Пока что там лежит только .gitkeep, который нужен лишь для того, чтобы эта пустая директория оставалась в репозитории и отслеживалась Git'ом. Как только положите туда другие файлы, его можно будет удалить