Skip to content

Перенос на Denix

Если у вас уже есть конфигурация NixOS или Home Manager, вы можете перенести большинство кода без значительных изменений, а затем адаптировать его под Denix.

Однако, вам потребуется создать с нуля:

  • Хосты
  • Райсы (если хотите)
  • Некоторые начальные модули

Основную часть конфигурации можно полностью использовать из вашей старой конфигурации, главное - отделить аппаратные настройки (hardware configuration) от общей конфигурации. См. раздел Как это работает?.

Как это работает?

Все модули Denix представляют собой обычные модули Home Manager или NixOS, но с дополнительной логикой включения и выключения конфигураций.

Это означает, что вы можете добавить код или файлы из старой конфигурации в новую, чтобы они импортировались через delib.configurations. Вы можете положить этот код в директорию modules или создать новую директорию, например, modules_nixos_old для старых конфигураций.

Пример простой конфигурации

Допустим, у вас есть старая конфигурация, состоящая из двух файлов: configuration.nix и hardware-configuration.nix, и вы уже создали хосты и директорию modules/config по инструкции. Конфигурация вашего хоста должна включать hardware-configuration.nix, поэтому остаётся лишь скопировать configuration.nix в директорию modules и удалить из неё ненужные опции, например, system.stateVersion.

Пример сложной конфигурации

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

Модули (например, для программ и сервисов) можно просто скопировать в директорию modules или другие файлы, импортируемые через delib.configurations.