Как включить тему в инсталяционном профиле

Инсталяционный профиль позволяет развернуть сайт с определенными настройками и модулями. По сути это тот же модуль со своей структурой, инфо файлом и т.д. По умолчанию в друпале есть три типа инсталяционных профилей - minimal, standart и testing.
Зачастую, когда проект еще не вышел в продакшен, используется подход разворота сайта с нуля после каждого билда на сервер (дев, тестовый и т.д.). Этот подход требует выполнения всех необходимых процедур в автоматическом режиме для получения требуемого результата.
Предположим, что у вас есть своя собственная тема (или сабтема) и ее необходимо включить при развороте сайта. Ваша тема находится в папке themes в инсталяционном профиле, т.е. у вас есть примерно следующая структура:
Структура профиля
В файле YOUR_PROFILE.install размещаем следующие строки

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * Implements hook_install().
 */
function YOUR_PROFILE_install() {
  // Установка дефолтной темы и администраторской.
  $enable = array(
    'theme_default' => 'THEME_NAME',
    'admin_theme' => 'seven',
    'zen',
  );
  theme_enable($enable);
 
  // Установка переменных.
  foreach ($enable as $var => $theme) {
    if (!is_numeric($var)) {
      variable_set($var, $theme);
    }
  }
 
  // Отключение темы Bartik.
  theme_disable(array('bartik'));
}