Skip to content

alphaserver777/NixOS

Repository files navigation

Моя конфигурация NixOS

Этот репозиторий содержит мою личную конфигурацию NixOS, управляемую с помощью Nix Flakes. Он предназначен для декларативного и воспроизводимого способа управления моими системами.

Особенности

  • Декларативность: Вся конфигурация системы определена в виде кода.
  • Воспроизводимость: Одна и та же конфигурация может быть развернута на нескольких машинах, обеспечивая согласованность.
  • Управление с помощью Flakes: Проект использует Nix Flakes для управления зависимостями и улучшения воспроизводимости.
  • Home Manager: Пользовательские конфигурации (дотфайлы, пакеты) управляются с помощью Home Manager.
  • Stylix: Темы и стили управляются с помощью Stylix.

Структура каталогов

Репозиторий организован следующим образом:

.
├── flake.nix          # Основная точка входа для Nix Flake
├── home-manager/      # Конфигурация Home Manager для пользовательских настроек
├── hosts/             # Конфигурации для конкретных хостов
├── nixos/             # Общесистемные модули NixOS
├── wallpapers/        # Обои для рабочего стола
└── LICENSE            # Файл лицензии
  • flake.nix: Определяет входы, выходы и общую структуру flake.
  • home-manager/: Содержит конфигурацию Home Manager для пользователя admsys. Здесь настраиваются дотфайлы, пользовательские пакеты и службы.
  • hosts/: Каждый подкаталог соответствует определенной машине. Он содержит configuration.nix для этого хоста.
  • nixos/: Содержит переиспользуемые модули NixOS, которые можно импортировать в различные конфигурации хостов.
  • wallpapers/: Хранит обои, используемые для рабочего стола.

Хосты

Эта конфигурация управляет следующими хостами:

  • Huawei
  • srv-home
  • x-disk

В репозитории также присутствуют конфигурации для 330-15ARR и slim3, но они на данный момент не управляются через flake.nix.

Установка

Чтобы развернуть эту конфигурацию на новой машине с NixOS, выполните следующие шаги:

  1. Включите Flakes: Убедитесь, что в вашей системе включены Nix Flakes. Это можно сделать, добавив experimental-features = nix-command flakes в ваш файл /etc/nix/nix.conf.

  2. Клонируйте репозиторий:

git clone https://github.com/alphaserver777/GitOps.git /home/admsys/
  1. Соберите систему:
    cd /etc/nixos
sudo nixos-rebuild switch --flake .#$(hostname)
    ```
    Замените `<hostname>` на имя хоста, на который вы разворачиваете конфигурацию (например, `Huawei`).

## Кастомизация

### Добавление нового хоста

    1.  Создайте новый каталог в `hosts/` с именем вашего нового хоста.
    2.  Создайте файл `configuration.nix` внутри нового каталога. Вы можете использовать одну из существующих конфигураций хоста в качестве шаблона.
    3.  Добавьте новый хост в список `hosts` в файле `flake.nix`.

### Добавление нового модуля

    1.  Создайте новый `.nix` файл в каталоге `nixos/` или `home-manager/modules/`.
    2.  Импортируйте новый модуль в соответствующий файл `configuration.nix` или `home.nix`.

## Лицензия

    Этот проект лицензирован в соответствии с условиями, указанными в файле `LICENSE`.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •