2026-05-07 20:48:42 +07:00
|
|
|
|
############################################################################
|
|
|
|
|
|
# #
|
|
|
|
|
|
# ███╗ ██╗██╗██╗ ██╗ ██████╗ ███████╗ ██████╗ ██████╗ #
|
|
|
|
|
|
# ████╗ ██║██║╚██╗██╔╝██╔═══██╗██╔════╝ ██╔════╝ ██╔══██╗ #
|
|
|
|
|
|
# ██╔██╗ ██║██║ ╚███╔╝ ██║ ██║███████╗ ██║ ███╗██████╔╝ #
|
|
|
|
|
|
# ██║╚██╗██║██║ ██╔██╗ ██║ ██║╚════██║ ██║ ██║██╔═══╝ #
|
|
|
|
|
|
# ██║ ╚████║██║██╔╝ ██╗╚██████╔╝███████║ ╚██████╔╝██║ #
|
|
|
|
|
|
# ╚═╝ ╚═══╝╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ #
|
|
|
|
|
|
# #
|
|
|
|
|
|
# User: andrei | Host: nixos | Env: niri / xfce #
|
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-22 21:30:03 +05:00
|
|
|
|
{
|
|
|
|
|
|
inputs = {
|
2026-05-07 20:48:42 +07:00
|
|
|
|
|
|
|
|
|
|
/* ┌──────────────────────────────────────────┐
|
|
|
|
|
|
│ системные импорты │
|
|
|
|
|
|
└──────────────────────────────────────────┘ */
|
2026-05-10 22:25:04 +07:00
|
|
|
|
|
|
|
|
|
|
/* Основной репозиторий пакетов NixOS. Использование ветки 'nixos-unstable'
|
|
|
|
|
|
гарантирует получение самых свежих версий софта, таких как niri или noctalia,
|
|
|
|
|
|
которые быстро развиваются и требуют актуальных библиотек. */
|
2026-03-22 21:30:03 +05:00
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
2026-05-07 20:48:42 +07:00
|
|
|
|
|
2026-05-10 22:25:04 +07:00
|
|
|
|
/* Легковесный фреймворк для организации флейка. Он заменяет громоздкие
|
|
|
|
|
|
конструкции стандартного вывода (outputs) на модульную систему, позволяя
|
|
|
|
|
|
автоматически генерировать настройки для разных архитектур (x86_64, aarch64)
|
|
|
|
|
|
через удобные блоки perSystem. */
|
2026-03-22 21:30:03 +05:00
|
|
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
2026-05-07 20:48:42 +07:00
|
|
|
|
|
2026-05-10 22:25:04 +07:00
|
|
|
|
/* Утилита для автоматического импорта директорий. Она рекурсивно сканирует
|
|
|
|
|
|
папки и подключает все .nix файлы, избавляя от необходимости вручную
|
|
|
|
|
|
прописывать каждый модуль в списке imports при расширении конфигурации. */
|
2026-03-22 21:30:03 +05:00
|
|
|
|
import-tree.url = "github:vic/import-tree";
|
2026-04-25 23:34:21 +05:00
|
|
|
|
|
2026-05-10 22:25:04 +07:00
|
|
|
|
/* niri-flake — это специализированный Nix-флейк
|
|
|
|
|
|
(обычно поддерживаемый пользователем sodiboo),
|
|
|
|
|
|
который предоставляет пакеты и модули для Wayland-композитора niri.
|
|
|
|
|
|
Он часто используется вместе с flake-parts, чтобы декларативно
|
|
|
|
|
|
управлять конфигурацией графической среды и всегда иметь самую
|
|
|
|
|
|
свежую версию композитора.
|
|
|
|
|
|
*/
|
2026-04-25 23:34:21 +05:00
|
|
|
|
niri-flake = {
|
|
|
|
|
|
url = "github:sodiboo/niri-flake";
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
|
};
|
2026-05-07 20:48:42 +07:00
|
|
|
|
|
2026-05-10 22:25:04 +07:00
|
|
|
|
/* Noctalia не является полноценным окружением рабочего стола
|
|
|
|
|
|
(как GNOME или KDE), а представляет собой визуальный слой,
|
|
|
|
|
|
который работает поверх оконных менеджеров. Она берет на себя функции,
|
|
|
|
|
|
за которые обычно отвечают разрозненные утилиты:
|
|
|
|
|
|
Панели и статус-бары: Полностью настраиваемые виджеты.
|
|
|
|
|
|
Уведомления и OSD: Встроенная система оповещений и индикаторов громкости/яркости.
|
|
|
|
|
|
Lock Screen: Экран блокировки с поддержкой PAM (например, для отпечатков пальцев).
|
|
|
|
|
|
Launcher и Док: Лаунчер приложений и панель задач.
|
|
|
|
|
|
Виджеты рабочего стола: Поддержка десктопных виджетов с привязкой к разным мониторам.*/
|
2026-04-30 13:40:52 +05:00
|
|
|
|
noctalia = {
|
|
|
|
|
|
url = "github:noctalia-dev/noctalia-shell";
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
|
};
|
2026-03-22 21:30:03 +05:00
|
|
|
|
|
2026-05-10 22:25:04 +07:00
|
|
|
|
/* Инструмент для декларативного управления домашним каталогом пользователя.
|
|
|
|
|
|
В связке с графическими оболочками он отвечает за генерацию конфигов для
|
|
|
|
|
|
niri, noctalia, стилизацию GTK/Qt и управление файлами в ~/.config. */
|
2026-03-22 21:30:03 +05:00
|
|
|
|
home-manager = {
|
|
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
|
};
|
2026-05-07 20:48:42 +07:00
|
|
|
|
|
2026-03-22 21:30:03 +05:00
|
|
|
|
};
|
|
|
|
|
|
|
2026-05-07 20:48:42 +07:00
|
|
|
|
/* ┌──────────────────────────────────────────┐
|
|
|
|
|
|
│ импорт модулей │
|
|
|
|
|
|
└──────────────────────────────────────────┘ */
|
2026-04-04 15:25:41 +05:00
|
|
|
|
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules);
|
2026-03-22 21:30:03 +05:00
|
|
|
|
}
|