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 │ │ └── ada.nix # Пользователь ada
│ │ │ │
│ └── virtualisation/ # Виртуализация │ └── virtualisation/ # Виртуализация
── virtualbox.nix # VirtualBox Guest ── virtualbox.nix # VirtualBox Guest
│ └── qemu-guest.nix # QEMU/KVM Guest
└── home/ # Home Manager (пользователь) └── home/ # Home Manager (пользователь)
└── ada/ └── ada/
@@ -105,11 +106,18 @@ nixos/
- **Terminal**: Tmux с улучшенной конфигурацией - **Terminal**: Tmux с улучшенной конфигурацией
- **Modern CLI tools**: eza, bat, fzf, ripgrep, fd - **Modern CLI tools**: eza, bat, fzf, ripgrep, fd
### 🔧 VirtualBox ### 🔧 Виртуализация
**VirtualBox Guest:**
- Drag & Drop включен - Drag & Drop включен
- Shared clipboard включен - Shared clipboard включен
- Guest additions настроены - Guest additions настроены
**QEMU/KVM Guest:**
- QEMU Guest Agent включен
- SPICE VDAgent для интеграции
- Улучшенная производительность
## Как использовать ## Как использовать
### Первоначальная сборка ### Первоначальная сборка
+1
View File
@@ -22,6 +22,7 @@
# Виртуализация # Виртуализация
./modules/virtualisation/virtualbox.nix ./modules/virtualisation/virtualbox.nix
./modules/virtualisation/qemu-guest.nix
# Пользователи # Пользователи
./modules/users/ada.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) ## Home Manager (Пользователь ada)
+1 -1
View File
@@ -30,7 +30,7 @@
# Версия Home Manager # Версия Home Manager
# Это значение определяет релиз Home Manager, с которым совместима конфигурация. # Это значение определяет релиз Home Manager, с которым совместима конфигурация.
# Это помогает избежать поломок при выходе новых релизов с несовместимыми изменениями. # Это помогает избежать поломок при выходе новых релизов с несовместимыми изменениями.
home.stateVersion = "25.11"; home.stateVersion = "25.05";
# Разрешить Home Manager управлять собой # Разрешить Home Manager управлять собой
programs.home-manager.enable = true; 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: backup:
source: source:
- /home/ada/Documents/Projects - /home/ada/Documents/Projects
schedule: "*-*-* *:15:00" # каждый час в 15 минут schedule: "*-*-* 20:30:00" # каждый час в 15 минут
forget: forget:
keep-last: 24 keep-last: 24
keep-daily: 14 keep-daily: 14
@@ -30,7 +30,7 @@ vaults:
backup: backup:
source: source:
- /home/ada/Documents/Vaults - /home/ada/Documents/Vaults
schedule: "*-*-* *:30:00" # каждый час в 30 минут schedule: "*-*-* 20:30:00"
forget: forget:
keep-last: 12 keep-last: 12
keep-daily: 7 keep-daily: 7
@@ -43,7 +43,7 @@ files:
backup: backup:
source: source:
- /home/ada/Documents/Files - /home/ada/Documents/Files
schedule: "*-*-* 02:15:00" # 02:15 каждый день schedule: "*-*-* 20:30:00" # 02:15 каждый день
forget: forget:
keep-daily: 30 keep-daily: 30
keep-weekly: 12 keep-weekly: 12
@@ -56,7 +56,7 @@ pictures:
backup: backup:
source: source:
- /home/ada/Pictures - /home/ada/Pictures
schedule: "*-*-* 03:30:00" # 03:30 каждый день schedule: "*-*-* 20:30:00" # 03:30 каждый день
forget: forget:
keep-daily: 14 keep-daily: 14
keep-weekly: 8 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 ProxyJump vps
Host git.ada-dev.ru Host git.ada-dev.ru
HostName 100.124.120.78 HostName 100.87.138.76
Port 2222 Port 222
User git User git
IdentityFile ~/.ssh/id_ed25519 IdentityFile ~/.ssh/id_ed25519
ProxyJump vps ProxyJump vps