new base image
All checks were successful
Hello World / test (push) Successful in 3s

This commit is contained in:
plasmagoat 2025-06-07 04:33:52 +02:00
parent 558b3f33c5
commit dd7b32ac51
5 changed files with 29 additions and 11 deletions

View file

@ -30,7 +30,7 @@ jobs:
- name: Build NixOS image - name: Build NixOS image
working-directory: nixos working-directory: nixos
run: nix build .#base run: nix build .#proxmoxTemplate
- name: Upload & Restore to Proxmox - name: Upload & Restore to Proxmox
working-directory: nixos working-directory: nixos

15
nixos/base.nix Normal file
View file

@ -0,0 +1,15 @@
{ config, pkgs, ... }: {
system.stateVersion = "24.05";
services.openssh.enable = true;
services.qemuGuest.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeg/n/vst9KME8byhxX2FhA+FZNQ60W38kkNt45eNzK5zFqBYuwo1nDXVanJSh9unRvB13b+ygpZhrb4sHvkETGWiEioc49MiWr8czEhu6Wpo0vv5MAJkiYvGZUYPdUW52jUzWcYdw8PukG2rowrxL5G0CmsqLwHMPU2FyeCe5aByFI/JZb8R80LoEacgjUiipJcoLWUVgG2koMomHClqGu+16kB8nL5Ja3Kc9lgLfDK7L0A5R8JXhCjrlEsmXbxZmwDKuxvjDAZdE9Sl1VZmMDfWkyrRlenrt01eR3t3Fec6ziRm5ZJk9e2Iu1DPoz+PoHH9aZGVwmlvvnr/gMF3OILxcqb0qx+AYlCCnb6D6pJ9zufhZkKcPRS1Q187F6fz+v2oD1xLZWFHJ92+7ItM0WmbDOHOC29s5EA6wNm3iXZCq86OI3n6T34njDtPqh6Z7Pk2sdK4GBwnFj4KwEWXvdKZKSX1qb2EVlEBE9QI4Gf3eg4SiBu2cAFt3nOSzs8c= asol\\dbs@ALPHA-DBS-P14sG2"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICUP7m8jZJiclZGfSje8CeBYFhX10SrdtjYziuChmj1X plasmagoat@macbook-air"
];
# Disables KVM-specific features
virtualisation.useKvm = false;
virtualisation.virtualbox.guest.enable = false;
}

View file

@ -61,9 +61,9 @@
# Default filesystem on # Default filesystem on
fileSystems."/" = lib.mkDefault { fileSystems."/" = lib.mkDefault {
device = "/dev/disk/by-label/nixos"; device = "/dev/disk/by-label/nixos";
autoResize = true; # grow on first boot autoResize = true; # grow on first boot
fsType = "ext4"; fsType = "ext4";
}; };
# Timezone & Keyboard # Timezone & Keyboard
@ -72,10 +72,10 @@
# Default set of packages # Default set of packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
vim # emergencies vim # emergencies
git # pulling flakes, code git # pulling flakes, code
curl # downloading things curl # downloading things
python3 # for Ansible if needed on live VM python3 # for Ansible if needed on live VM
]; ];
# Nix settings (cache, experimental, gc) # Nix settings (cache, experimental, gc)

View file

@ -70,9 +70,9 @@
################################################################################ ################################################################################
# 1) Existing Proxmox “base” image generator # 1) Existing Proxmox “base” image generator
base = nixos-generators.nixosGenerate { proxmoxTemplate = nixos-generators.nixosGenerate {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ ./templates/base.nix ]; modules = [ ./base.nix ];
format = "proxmox"; # outputs a .vma.zst suitable for qmrestore format = "proxmox"; # outputs a .vma.zst suitable for qmrestore
}; };
@ -100,7 +100,7 @@
# • docker → `nix build .#docker` (docker template) # • docker → `nix build .#docker` (docker template)
################################################################################ ################################################################################
packages.x86_64-linux = { packages.x86_64-linux = {
base = base; proxmoxTemplate = proxmoxTemplate;
docker = docker; docker = docker;
}; };
}; };

View file

@ -5,6 +5,7 @@ let
traefik_ip = "traefik.lab"; traefik_ip = "traefik.lab";
sandbox_ip = "sandbox.lab"; sandbox_ip = "sandbox.lab";
forgejo_ip = "forgejo.lab"; forgejo_ip = "forgejo.lab";
runner01_ip = "forgejo-runner-01.lab";
dnsmasq_ip = "dns.lab"; dnsmasq_ip = "dns.lab";
prometheus_exporter_port = 9100; prometheus_exporter_port = 9100;
@ -23,12 +24,14 @@ let
"${traefik_ip}:${toString prometheus_exporter_port}" "${traefik_ip}:${toString prometheus_exporter_port}"
"${sandbox_ip}:${toString prometheus_exporter_port}" "${sandbox_ip}:${toString prometheus_exporter_port}"
"${forgejo_ip}:${toString prometheus_exporter_port}" "${forgejo_ip}:${toString prometheus_exporter_port}"
"${runner01_ip}:${toString prometheus_exporter_port}"
]; ];
promtail = [ promtail = [
"${monitor_ip}:${toString promtail_port}" "${monitor_ip}:${toString promtail_port}"
"${traefik_ip}:${toString promtail_port}" "${traefik_ip}:${toString promtail_port}"
"${sandbox_ip}:${toString promtail_port}" "${sandbox_ip}:${toString promtail_port}"
"${forgejo_ip}:${toString promtail_port}" "${forgejo_ip}:${toString promtail_port}"
"${runner01_ip}:${toString promtail_port}"
]; ];
grafana = [ "${monitor_ip}:${toString grafana_port}" ]; grafana = [ "${monitor_ip}:${toString grafana_port}" ];
prometheus = [ "${monitor_ip}:${toString prometheus_port}" ]; prometheus = [ "${monitor_ip}:${toString prometheus_port}" ];