# Добавление и удаление пакетов Как управлять программами в конфигурации. ## Где пакеты? Пакеты описаны в файле: ``` home/ada/packages.nix ``` ## Добавить пакет ### Способ 1: Через редактор 1. Открыть `home/ada/packages.nix` 2. Найти подходящую категорию (например "Средства разработки") 3. Добавить пакет: ```nix # Было: htop # Интерактивный монитор процессов # Стало: htop # Интерактивный монитор процессов lazygit # Интерактивный git UI ``` 4. Собрать конфигурацию: ```bash nh os switch ``` ### Способ 2: Найти пакет в nixpkgs Если не знаешь точное имя пакета: ```bash # Поиск в nixpkgs nix search nixpkgs # Пример: nix search nixpkgs git-lfs ``` ## Удалить пакет 1. Открыть `home/ada/packages.nix` 2. Удалить строку с пакетом 3. Собрать: ```bash nh os switch ``` ## Категории пакетов В файле `packages.nix` пакеты организованы по категориям: ``` Редакторы → vim, neovim, micro IDE → vscode, idea-community, zed Терминал → alacritty Dev tools → tmux, fzf, ripgrep, fd, bat, eza Git tools → git, gh, lazygit Сеть → curl, wget, ssh, mosh, nmap БД → sqlite, postgresql Утилиты → jq, yq, zip, unzip, gnupg Шрифты → nerdfonts (FiraCode) ``` ## Правила оформления ```nix # ✅ Хорошо - с комментарием ripgrep # Быстрый поиск в файлах (rg) # ❌ Плохо - без комментария ripgrep # ✅ Хорошо - выровнены fzf # Интерактивный поиск ripgrep # Быстрый поиск # ❌ Плохо - не выровнены fzf # Интерактивный поиск ripgrep # Быстрый поиск ``` ## Проверка перед сборкой ```bash # Проверить синтаксис nix flake check # Или просто пробуй собрать: nh os test # Тестовая сборка (без применения) ``` ## Примеры ### Добавить lazydocker 1. Открыть `home/ada/packages.nix` 2. В разделе "Dev tools" добавить: ```nix lazydocker # Docker UI ``` 3. Собрать: ```bash nh os switch ``` ### Добавить несколько пакетов ```nix # Быстрее найти нужные команды fzf # Поиск ripgrep-all # Поиск по всем типам fd # find аналог # Анализ и визуализация tokei # Анализ кода nitch # Системная информация ``` ## Рядом интересные пакеты - `comma` - запустить пакет без установки: `, package` - `nix-index` - найти файл в nixpkgs - `nixpkgs-fmt` - форматирование Nix кода