feat(nixos): add QEMU/KVM guest support and update VirtualBox documentation
This commit is contained in:
+10
-2
@@ -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 для интеграции
|
||||||
|
- Улучшенная производительность
|
||||||
|
|
||||||
## Как использовать
|
## Как использовать
|
||||||
|
|
||||||
### Первоначальная сборка
|
### Первоначальная сборка
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
Executable
+27
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user