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.
131 lines
3.3 KiB
Markdown
131 lines
3.3 KiB
Markdown
# Добавление и удаление пакетов
|
||
|
||
Как управлять программами в конфигурации.
|
||
|
||
## Где пакеты?
|
||
|
||
Пакеты описаны в файле:
|
||
```
|
||
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 <package-name>
|
||
|
||
# Пример:
|
||
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 кода
|