17b0cdfbac
- Introduced `08-structure.md` detailing project structure, main files, and versioning. - Created `README.md` for documentation overview and quick start guide. - Added user-specific configurations for Alacritty, Vim, Micro, Git, Zsh, Tmux, and tools. - Implemented system modules for desktop environment (KDE Plasma), audio (PipeWire), networking, and services (OpenSSH, GnuPG). - Configured Nix settings with flakes support and garbage collection. - Established user management for `ada` with necessary groups and shell settings. - Enabled VirtualBox guest additions for improved VM experience.
3.3 KiB
3.3 KiB
Добавление и удаление пакетов
Как управлять программами в конфигурации.
Где пакеты?
Пакеты описаны в файле:
home/ada/packages.nix
Добавить пакет
Способ 1: Через редактор
- Открыть
home/ada/packages.nix - Найти подходящую категорию (например "Средства разработки")
- Добавить пакет:
# Было:
htop # Интерактивный монитор процессов
# Стало:
htop # Интерактивный монитор процессов
lazygit # Интерактивный git UI
- Собрать конфигурацию:
nh os switch
Способ 2: Найти пакет в nixpkgs
Если не знаешь точное имя пакета:
# Поиск в nixpkgs
nix search nixpkgs <package-name>
# Пример:
nix search nixpkgs git-lfs
Удалить пакет
- Открыть
home/ada/packages.nix - Удалить строку с пакетом
- Собрать:
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)
Правила оформления
# ✅ Хорошо - с комментарием
ripgrep # Быстрый поиск в файлах (rg)
# ❌ Плохо - без комментария
ripgrep
# ✅ Хорошо - выровнены
fzf # Интерактивный поиск
ripgrep # Быстрый поиск
# ❌ Плохо - не выровнены
fzf # Интерактивный поиск
ripgrep # Быстрый поиск
Проверка перед сборкой
# Проверить синтаксис
nix flake check
# Или просто пробуй собрать:
nh os test # Тестовая сборка (без применения)
Примеры
Добавить lazydocker
- Открыть
home/ada/packages.nix - В разделе "Dev tools" добавить:
lazydocker # Docker UI
- Собрать:
nh os switch
Добавить несколько пакетов
# Быстрее найти нужные команды
fzf # Поиск
ripgrep-all # Поиск по всем типам
fd # find аналог
# Анализ и визуализация
tokei # Анализ кода
nitch # Системная информация
Рядом интересные пакеты
comma- запустить пакет без установки:, packagenix-index- найти файл в nixpkgsnixpkgs-fmt- форматирование Nix кода