Проект Garuda Linux анонсировал Garuda Nix. Новый проект переносит привычные конфигурации рабочего стола, оформление и настройки по умолчанию из этого дистрибутива в NixOS.

Garuda Nix не основан на Arch. Обычный Garuda Linux собирается на базе Arch, а Garuda Nix использует в качестве фундамента NixOS. Это отдельный способ получить окружение Garuda на NixOS.

Проект вырос из ранее доступного Garuda Nix Subsystem, которое изначально задумывалось как дополнение к Garuda Linux. Оно позволяло установить NixOS рядом с Garuda Linux в одном разделе, используя отдельные subvolume.

Однако проект вышел за рамки первоначального сценария и превратился в самостоятельный Garuda Nix. Он предлагает две конфигурации рабочего стола: Dr460nized и Mokka. В обеих используются те же dotfiles, что и в соответствующих редакциях Garuda Linux, адаптированные под NixOS.

Garuda Nix Dr460nized
Garuda Nix Dr460nized

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

По сути, Garuda Nix соединяет основу NixOS с рабочим окружением и настройками по умолчанию, знакомыми пользователям Garuda.

Установить систему можно через графический установщик Calamares или из командной строки с помощью утилиты install-garuda-nix. Доступны отдельные ISO-образы Dr460nized и Mokka, но любой из установщиков умеет развернуть любую конфигурацию рабочего стола, поскольку установка NixOS выполняется по сети.

После установки пользователь получает преднастроенные параметры Garuda и готовую к работе конфигурацию Nix flake в /etc/nixos. Также включены несколько пресетов из настроек модулей garuda-*.

Ещё одна заметная часть проекта, Chaotic Nyx. Это аналог известного репозитория Chaotic-AUR в мире Nix. Он входит в состав Garuda Nix и открывает доступ к дополнительным готовым пакетам в экосистеме Nix.

Установщик для командной строки даёт и другие возможности, в том числе настройку NixOS Impermanence.

Impermanence позволяет автоматически удалять выбранные системные данные после перезагрузки, тогда как заданные файлы и каталоги остаются постоянными. В Garuda Nix это реализовано через откаты Btrfs в системах с Btrfs или через размещение корневой файловой системы в tmpfs при использовании ext4.

Сейчас проект предлагает отдельные установочные образы Dr460nized и Mokka. Ежедневные сборки ISO создаются в инфраструктуре CI Garuda.

Для тех, кто уже пользуется Garuda Linux и хочет попробовать NixOS, Garuda Nix станет куда более привычной точкой входа, чем стандартная установка NixOS.

Подробности опубликованы в анонсе.

Источник изображения: Garuda Linux