Improve Proxmox backup image generation

This commit is contained in:
yuri 2023-08-04 01:38:49 +02:00
parent 5c0f7dd6b8
commit 09abf3bee9
6 changed files with 37 additions and 9 deletions

View file

@ -58,11 +58,12 @@
[Unit] [Unit]
Description=print-public-ssh-host-key.service Description=print-public-ssh-host-key.service
Before=getty@tty1.service Before=getty@tty1.service
After=sshd.service
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=/run/current-system/sw/bin/bash -c "/run/current-system/sw/bin/echo ----- ED25519 PUBLIC SSH HOST KEY -----\ ExecStart=/run/current-system/sw/bin/bash -c "/run/current-system/sw/bin/echo -e \"----- ED25519 PUBLIC SSH HOST KEY -----\
&& /run/current-system/sw/bin/cut -d ' ' -f 1-2 /etc/ssh/ssh_host_ed25519_key.pub" \n$(/run/current-system/sw/bin/cut -d ' ' -f 1-2 /etc/ssh/ssh_host_ed25519_key.pub)\""
RemainAfterExit=no RemainAfterExit=no
StandardOutput=tty StandardOutput=tty
''; '';

View file

@ -10,5 +10,26 @@
firewall.enable = true; firewall.enable = true;
}; };
proxmox = {
qemuConf = {
ostype = "l26";
cores = 2;
memory = 1024;
bios = "seabios";
# Option not available in 23.05
# diskSize = "8096";
virtio0 = "local-zfs:base-disk-0,discard=on";
boot = "order=virtio0";
net0 = "tag=999,virtio=00:00:00:00:00:00,bridge=vmbr0,firewall=1";
agent = true;
};
qemuExtraConf = {
cpu = "cputype=host,flags=+aes";
onboot = 1;
machine = "q35";
template = 1;
};
};
system.stateVersion = "23.05"; system.stateVersion = "23.05";
} }

View file

@ -1,5 +1,9 @@
{ ... }: { ... }:
{ {
imports = [
./hardware-configuration.nix
];
# Enable console output on TTY1 and serial console # Enable console output on TTY1 and serial console
boot.kernelParams = [ boot.kernelParams = [
"console=tty1" "console=tty1"

View file

@ -1,11 +1,14 @@
{ config, lib, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
# hardware-configuration.nix copied and adapted from the default configuration generated by nixos-generators
imports = [ imports = [
(modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/profiles/qemu-guest.nix")
]; ];
boot = { boot = {
initrd = { initrd = {
# To use the VirtIO SCSI disks, add the "virtio_scsi" kernel module to availableKernelModules
availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ]; availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_blk" ];
kernelModules = [ ]; kernelModules = [ ];
}; };

View file

@ -38,11 +38,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1690726002, "lastModified": 1691016377,
"narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=", "narHash": "sha256-Vvi49vIL2CzX5bsfE3qovcmzJpkfMo/Mx/coCbu5Jeo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "391e8db1f06c3f74c2d313a73135515023af3993", "rev": "ad73028def6716978adaec5b0b7706edc611a83e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,11 +54,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1690738238, "lastModified": 1691071044,
"narHash": "sha256-yUFU7PGQzOEDX2Y64QV7xNHkn3RjkOTqvZ5oW5gbgGY=", "narHash": "sha256-bYBWtupK/NO/diSpye8TP1E0IC7wj29y2q6blD0FtPk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6376df481833e5f2e83eade8d8f2d04beed007d0", "rev": "2a1f1797be6e4125ade0be6ac32bb70106ff7245",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -4,7 +4,6 @@ let
environments = { environments = {
"proxmox" = [ "proxmox" = [
./configuration/proxmox-vm ./configuration/proxmox-vm
./configuration/proxmox-vm/hardware-configuration.nix
]; ];
}; };
generateDefaults = hosts: builtins.mapAttrs (name: { generateDefaults = hosts: builtins.mapAttrs (name: {