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:
Dmitry
2026-03-10 13:10:52 +03:00
parent a7ba016de4
commit 17b0cdfbac
31 changed files with 3327 additions and 164 deletions
+130
View File
@@ -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 кода