feat(nixos): add QEMU/KVM guest support and update VirtualBox documentation

This commit is contained in:
Dmitry
2026-03-12 16:31:43 +03:00
parent d15c5f0ea2
commit 830bcff12d
8 changed files with 62 additions and 10 deletions
+10 -2
View File
@@ -56,7 +56,8 @@ nixos/
│ │ └── ada.nix # Пользователь ada
│ │
│ └── virtualisation/ # Виртуализация
── virtualbox.nix # VirtualBox Guest
── virtualbox.nix # VirtualBox Guest
│ └── qemu-guest.nix # QEMU/KVM Guest
└── home/ # Home Manager (пользователь)
└── ada/
@@ -105,11 +106,18 @@ nixos/
- **Terminal**: Tmux с улучшенной конфигурацией
- **Modern CLI tools**: eza, bat, fzf, ripgrep, fd
### 🔧 VirtualBox
### 🔧 Виртуализация
**VirtualBox Guest:**
- Drag & Drop включен
- Shared clipboard включен
- Guest additions настроены
**QEMU/KVM Guest:**
- QEMU Guest Agent включен
- SPICE VDAgent для интеграции
- Улучшенная производительность
## Как использовать
### Первоначальная сборка
+1
View File
@@ -22,6 +22,7 @@
# Виртуализация
./modules/virtualisation/virtualbox.nix
./modules/virtualisation/qemu-guest.nix
# Пользователи
./modules/users/ada.nix
+2 -1
View File
@@ -73,7 +73,8 @@ inputs = {
Виртуализация:
- **virtualbox.nix** - VirtualBox Guest Additions
- **virtualbox.nix** - VirtualBox Guest Additions (drag&drop, clipboard)
- **qemu-guest.nix** - QEMU/KVM Guest поддержка (spice-vdagent)
## Home Manager (Пользователь ada)
+1 -1
View File
@@ -30,7 +30,7 @@
# Версия Home Manager
# Это значение определяет релиз Home Manager, с которым совместима конфигурация.
# Это помогает избежать поломок при выходе новых релизов с несовместимыми изменениями.
home.stateVersion = "25.11";
home.stateVersion = "25.05";
# Разрешить Home Manager управлять собой
programs.home-manager.enable = true;
@@ -0,0 +1,15 @@
{ pkgs, ... }:
{
# QEMU/KVM Guest поддержка
services.qemuGuest.enable = true;
# SPICE Agent для лучшей интеграции (общий буфер, drag&drop)
services.spice-vdagentd.enable = true;
# Дополнительные пакеты для работы с QEMU
environment.systemPackages = with pkgs; [
spice-vdagent # SPICE агент для гостевой системы
qemu-utils # Утилиты QEMU
];
}
+4 -4
View File
@@ -12,7 +12,7 @@ projects:
backup:
source:
- /home/ada/Documents/Projects
schedule: "*-*-* *:15:00" # каждый час в 15 минут
schedule: "*-*-* 20:30:00" # каждый час в 15 минут
forget:
keep-last: 24
keep-daily: 14
@@ -30,7 +30,7 @@ vaults:
backup:
source:
- /home/ada/Documents/Vaults
schedule: "*-*-* *:30:00" # каждый час в 30 минут
schedule: "*-*-* 20:30:00"
forget:
keep-last: 12
keep-daily: 7
@@ -43,7 +43,7 @@ files:
backup:
source:
- /home/ada/Documents/Files
schedule: "*-*-* 02:15:00" # 02:15 каждый день
schedule: "*-*-* 20:30:00" # 02:15 каждый день
forget:
keep-daily: 30
keep-weekly: 12
@@ -56,7 +56,7 @@ pictures:
backup:
source:
- /home/ada/Pictures
schedule: "*-*-* 03:30:00" # 03:30 каждый день
schedule: "*-*-* 20:30:00" # 03:30 каждый день
forget:
keep-daily: 14
keep-weekly: 8
+27
View File
@@ -0,0 +1,27 @@
#!/bin/zsh
# Импортируем ваши переменные и функции
SSH_PROXY_PID_FILE="/tmp/ssh_proxy.pid"
sshp-status-check() {
[ -f "$SSH_PROXY_PID_FILE" ] && kill -0 $(cat "$SSH_PROXY_PID_FILE") 2>/dev/null
}
sshp-start() {
ssh -fN -D 127.0.0.1:1080 fl-vps
pgrep -f "ssh -fN -D 127.0.0.1:1080 fl-vps" > "$SSH_PROXY_PID_FILE"
notify-send "SSH Proxy" "SOCKS5 запущен на 1080" -i network-vpn
}
sshp-stop() {
PID=$(cat "$SSH_PROXY_PID_FILE")
kill "$PID" && rm -f "$SSH_PROXY_PID_FILE"
notify-send "SSH Proxy" "Прокси остановлен" -i network-disconnect
}
# Логика тумблера
if sshp-status-check; then
sshp-stop
else
sshp-start
fi
+2 -2
View File
@@ -14,8 +14,8 @@ Host home zima
ProxyJump vps
Host git.ada-dev.ru
HostName 100.124.120.78
Port 2222
HostName 100.87.138.76
Port 222
User git
IdentityFile ~/.ssh/id_ed25519
ProxyJump vps