Skip to content

Repository files navigation

NixOS GNOME Configuration

Персональная конфигурация NixOS с GNOME Desktop, управляемая через Flakes

NixOS 26.05 Home Manager License


Описание

Данный репозиторий содержит декларативную конфигурацию операционной системы NixOS, построенную на основе Flakes и Home Manager. Конфигурация ориентирована на комфортную работу в окружении GNOME Desktop с использованием современных инструментов разработки.

Структура проекта

.
├── flake.nix                 # Точка входа: описание flake и его зависимости
├── flake.lock                # Зафиксированные версии зависимостей
├── assets/                   # Обои рабочего стола (светлая/тёмная темы)
├── lib/                      # Вспомогательные функции (mkHost)
├── overlays/                 # Nixpkgs overlays (кастомные пакеты)
├── pkgs/                     # Кастомные пакеты
│   └── rebuild-switch/       # Утилита для пересборки системы
├── hosts/                    # Конфигурации хостов (машин)
│   └── lucienne/             # Хост: lucienne
│       ├── default.nix       # Основная конфигурация хоста
│       └── hardware-configuration.nix
├── users/                    # Системные пользователи
│   └── magomedov.nix         # Пользователь magomedov
├── home/                     # Home Manager конфигурации
│   └── magomedov/
│       └── lucienne.nix      # Конфигурация пользователя для хоста lucienne
└── modules/                  # Модули конфигурации
    ├── nixos/                # Системные модули NixOS
    │   ├── boot.nix          # Загрузчик (systemd-boot, EFI)
    │   ├── hardware.nix      # Настройки оборудования (AMD, GPU)
    │   ├── networking.nix    # Сеть (NetworkManager, firewall)
    │   ├── audio.nix         # Звук (PipeWire)
    │   ├── bluetooth.nix     # Bluetooth
    │   ├── fonts.nix         # Шрифты (Nerd Fonts)
    │   ├── locale.nix        # Локаль и раскладка (us/ru)
    │   ├── power-management.nix  # Управление питанием
    │   ├── security.nix      # Безопасность (polkit, sudo)
    │   ├── nix-settings.nix  # Настройки Nix (flakes, GC)
    │   ├── desktop/
    │   │   └── gnome.nix     # GNOME Desktop Manager
    │   ├── virtualisation/
    │   │   ├── docker.nix    # Docker
    │   │   └── libvirt.nix   # QEMU/KVM + virt-manager
    │   └── programs/
    │       └── vpn.nix       # AmneziaVPN
    └── home-manager/         # Пользовательские модули
        ├── git.nix           # Git + GitHub CLI
        ├── xdg.nix           # XDG пользовательские директории
        ├── shell/
        │   ├── fish.nix      # Fish shell + eza, zoxide, fzf
        │   └── direnv.nix    # Direnv + nix-direnv
        ├── terminal/
        │   ├── ghostty.nix   # Ghostty терминал + тема Gruvbox
        │   └── zellij.nix    # Zellij мультиплексор
        ├── editor/
        │   ├── neovim.nix    # Neovim (базовая конфигурация)
        │   └── zed/          # Zed Editor
        │       ├── default.nix   # Основные настройки
        │       ├── languages.nix # Настройки языков (Python, Rust, Nix, C/C++)
        │       ├── lsp.nix       # LSP серверы
        │       └── themes.nix    # Тема Gruvbox JetBrains
        ├── cli/
        │   ├── core-tools.nix    # Основные утилиты (ripgrep, fd, htop, ...)
        │   ├── dev-tools.nix     # Инструменты разработки (uv, ruff, rustup, ...)
        │   └── media-tools.nix   # Медиа утилиты (ffmpeg, imagemagick, yt-dlp, ...)
        ├── desktop/
        │   └── gnome/        # GNOME настройки через Home Manager
        │       ├── default.nix
        │       ├── settings.nix      # Общие настройки GNOME
        │       ├── keyboard.nix      # Раскладка клавиатуры
        │       ├── keybindings.nix   # Горячие клавиши
        │       ├── wallpaper.nix     # Обои рабочего стола
        │       └── extensions/       # GNOME расширения
        │           ├── default.nix
        │           ├── just-perfection.nix
        │           ├── caffeine.nix
        │           ├── vitals.nix
        │           └── appindicator.nix
        └── browsers/
            └── zen-browser/  # Zen Browser
                ├── default.nix
                ├── extensions.nix  # Расширения (uBlock, Bitwarden, DarkReader, ...)
                ├── prefs.nix       # Настройки браузера
                └── policies.nix    # Политики + поисковые движки

Используемые технологии

Категория Инструменты
ОС NixOS 26.05, Flakes, Home Manager
Рабочий стол GNOME (Wayland), GDM
Терминал Ghostty, Zellij
Оболочка Fish, direnv, zoxide, fzf, eza
Редакторы Zed Editor, Neovim
Браузер Zen Browser
Виртуализация Docker, QEMU/KVM (libvirt)
Языки/инструменты Python (uv, ruff, ty), Rust (rustup, rust-analyzer), Nix (nixd, nixfmt), C/C++ (clangd, clang-format)
Шрифты JetBrains Mono Nerd Font, Fira Code Nerd Font, Hack Nerd Font
Тема Gruvbox JetBrains Dark (кастомная)

Горячие клавиши

Клавиша Действие
Super + Return Открыть Ghostty
Super + f Открыть Zen Browser
Super + e Открыть Nautilus
Super + q Закрыть окно
Alt + Shift Переключить раскладку (us/ru)

Установка

1. Клонировать репозиторий

git clone https://github.com/magomedov-dev/nixos-config.git ~/nix-config
cd ~/nix-config

2. Пересобрать систему

sudo nixos-rebuild switch --flake .#lucienne

3. Или использовать утилиту rebuild

rebuild

Утилита rebuild автоматически обновит flake и пересоберёт систему.

Хосты

Хост Описание Платформа
lucienne Основная рабочая станция x86_64-linux, AMD CPU, NVMe

Лицензия

MIT

About

Декларативная конфигурация NixOS 26.05 с GNOME Wayland, Home Manager и Flakes

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages