37 lines
1 KiB
YAML
37 lines
1 KiB
YAML
name: "Build NixOS Image and Upload to Proxmox"
|
|
|
|
on:
|
|
workflow_dispatch: # Manual trigger
|
|
|
|
jobs:
|
|
build-upload:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Checkout flake
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Nix
|
|
uses: cachix/install-nix-action@v22
|
|
with:
|
|
extra_nix_config: |
|
|
experimental-features = nix-command flakes
|
|
|
|
- name: Build Proxmox image
|
|
run: |
|
|
nix build .#base
|
|
|
|
- name: Upload to Proxmox
|
|
env:
|
|
PROXMOX_HOST: ${{ secrets.PROXMOX_HOST }}
|
|
PROXMOX_USER: ${{ secrets.PROXMOX_USER }}
|
|
PROXMOX_PASSWORD: ${{ secrets.PROXMOX_PASSWORD }}
|
|
run: |
|
|
scp result/*.vma.zst "$PROXMOX_USER@$PROXMOX_HOST:/var/lib/vz/dump/"
|
|
|
|
- name: Replace template on Proxmox
|
|
run: |
|
|
ssh "$PROXMOX_USER@$PROXMOX_HOST" "
|
|
qmrestore /var/lib/vz/dump/nixos-base.vma.zst 9000 --unique=true &&
|
|
qm set 9000 --name nixos-base --cores 2 --memory 2048 &&
|
|
qm template 9000
|
|
"
|