feat: add comprehensive NixOS configuration documentation and structure
- 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.
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
# Добавление и удаление пакетов
|
||||
|
||||
Как управлять программами в конфигурации.
|
||||
|
||||
## Где пакеты?
|
||||
|
||||
Пакеты описаны в файле:
|
||||
```
|
||||
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 кода
|
||||
Reference in New Issue
Block a user