Ну это мой короче конфиг для NixOS для ПК и для ноута в разных профилях флейка, пон да? Сижу на Hyprland, юзаю nixvim как IDE и часть штук типа Obsidian или Firefox синхронизирую через git/облако, а не декларативно, кривые пакеты и вовсе через flatpack качаю; MATLAB/Python/C++
- Трайнуть stylix
- Настроить секреты в soapnix
- Настроить disko
- Репозиторий рассчитан на
x86_64-linuxи использует только flake-based workflow - Базовый пакетный набор идет из
nixos-unstable - Дополнительно проброшен
nixpkgs-stableкакpkgs.stable - Для ПК есть отдельный CUDA overlay, который дает доступ к
pkgs.cuda.*, он, внезаптно, собирает приложения с поддержкой CUDA - Home Manager подключен внутрь
nixosSystemчерезhome-manager.nixosModules.home-manager, то есть отдельного HM deployment-потока здесь нет home-manager.useGlobalPkgs = true, поэтому системный и пользовательский слой используют один и тот же пакетный набор и overlays
| Host | System entrypoint | HM entrypoint | Ключевые отличия |
|---|---|---|---|
nixos-pc |
nixos/configuration-pc.nix |
home-manager/home-pc.nix |
NVIDIA/CUDA, ollama-cuda, ComfyUI, Open WebUI, Docker, virtualization, SearxNG, printing, tablet, Arduino, Cachix, NTFS mount govno |
nixos-laptop |
nixos/configuration-laptop.nix |
home-manager/home-laptop.nix |
CPU-only ollama, Bluetooth, power tuning, более легкий desktop stack |
Дополнительное различие по Python/ML:
- ПК использует
pkgs.stable.python3с бинарнымиtorch*, чтобы не собирать тяжелый ML-стек локально - Ноутбук использует обычный
pkgs.python3Packagesбез CUDA
| Что нужно поменять | Куда идти |
|---|---|
Общую flake-архитектуру, inputs, overlays, specialArgs |
flake.nix |
| Импорт модулей конкретного хоста | nixos/configuration-pc.nix, nixos/configuration-laptop.nix |
| Системные пакеты, system-wide toggles, браузер, Steam, Hyprland enable | nixos/pc/packages.nix, nixos/laptop/packages.nix |
| Базовые host settings: hostname, user, locale, Nix GC, файловые системы | nixos/pc/system.nix, nixos/laptop/system.nix |
| Аппаратные настройки, boot, GPU, sound, keyboard | nixos/pc/*, nixos/laptop/* |
| Reusable system services | nixos/services/*.nix |
| Локальные шрифты и их подключение | nixos/fonts/* |
| Пользовательские пакеты desktop-слоя | home-manager/desktop/common-packages.nix, home-manager/desktop/pc-packages.nix, home-manager/desktop/laptop-packages.nix |
| Пользовательские директории, bookmarks, env vars, dotfiles | home-manager/desktop/user-pc.nix, home-manager/desktop/user-laptop.nix |
| Hyprland, Waybar, hypridle, session-скрипты | home-manager/hyprland/* |
| Конфиги отдельных программ | home-manager/programs/* |
| Neovim через nixvim | home-manager/programs/nixvim/* |
Общие для обоих хостов:
file-manager.nixwl-clip-persist.nixsddm.nixjupyter.nixssh-askpass.nixamnezia-vpn.nixsyncting.nixollama.nixtor.nix
Только для ПК:
docker.nixvirtualization.nixsearxng.nixprinting.nixtablet.nixcachix.nixarduino.nixnix-ld.nixopenwebui.nixcomfyui.nix
- На ПК ожидается NTFS-раздел с label
govno, который монтируется в/home/rokokol/govno. - На ПК
xdg.userDirsдляMusic,Documents,Pictures,Videosуказывают именно в/home/rokokol/govno, поэтому отсутствие этого mount не ломает boot из-заnofail, но ломает часть пользовательских путей HUIXэкспортируется как session variable и используется в shell aliases и скриптахsystem.stateVersionиhome.stateVersionсейчас зафиксированы на25.11
При изменениях железа:
sudo nixos-generate-config --show-hardware-config > hardware-configuration.nixMATLAB в этом репозитории запускается так:
nix run gitlab:doronbehar/nix-matlab#matlab-shell
nix shell gitlab:doronbehar/nix-matlab#matlab --command /run/media/rokokol/MATHWORKS_R2025A/install