aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKumar Damani <me@kumardamani.net>2026-09-12 20:19:48 +0000
committerKumar Damani <me@kumardamani.net>2026-09-12 20:19:48 +0000
commit5d1f4f8d18effc7d32b6c4b6e6f05189f5e2e836 (patch)
treec746d8cb023c303235a31838425d68fc0a743e57
parente8205ac38096ff6f32599f414caaf4d184f350dc (diff)
added new vm for photos, shrunk nc
-rw-r--r--nix/per-host/photos/configuration.nix40
-rw-r--r--nix/secrets/photos.yaml1
-rwxr-xr-xterraform/main.tf51
3 files changed, 90 insertions, 2 deletions
diff --git a/nix/per-host/photos/configuration.nix b/nix/per-host/photos/configuration.nix
new file mode 100644
index 0000000..15f1953
--- /dev/null
+++ b/nix/per-host/photos/configuration.nix
@@ -0,0 +1,40 @@
+{ config, pkgs, modulesPath, lib, system, ... }:
+
+{
+ config = {
+ sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
+ sops.defaultSopsFile = ../../secrets/photos.yaml;
+
+ networking.hostName = "photos";
+ networking.firewall.allowedTCPPorts = [ 80 443 ];
+
+ hardware.graphics = {
+ enable = true;
+ };
+
+ hardware.nvidia = {
+ modesetting.enable = true;
+ nvidiaPersistenced = true;
+ powerManagement.enable = false;
+ powerManagement.finegrained = false;
+ open = false;
+ nvidiaSettings = true;
+ package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
+ };
+
+ nixpkgs.config.allowUnfree = true;
+
+ services.xserver.videoDrivers = [ "nvidia" ];
+
+ fileSystems = {
+ "/mnt/data/kumar/legacy-media" = {
+ device = "nas.bacala:/mnt/tank/customers/kumar/legacy-media";
+ fsType = "nfs";
+ };
+ "/mnt/data/kumar/camera" = {
+ device = "nas.bacala:/mnt/tank/customers/kumar/phone/camera";
+ fsType = "nfs";
+ };
+ };
+ };
+}
diff --git a/nix/secrets/photos.yaml b/nix/secrets/photos.yaml
new file mode 100644
index 0000000..97ad87b
--- /dev/null
+++ b/nix/secrets/photos.yaml
@@ -0,0 +1 @@
+foo: "bar"
diff --git a/terraform/main.tf b/terraform/main.tf
index cbe8159..a1e5219 100755
--- a/terraform/main.tf
+++ b/terraform/main.tf
@@ -109,9 +109,9 @@ resource "proxmox_lxc" "nc_kumar" {
ostemplate = "local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zst"
password = "${var.nc_kumar_password}"
unprivileged = false
- cores = 8
+ cores = 4
cpulimit = 0
- memory = 12288
+ memory = 6144
start = true
onboot = true
startup = "order=3"
@@ -379,6 +379,42 @@ resource "proxmox_vm_qemu" "git" {
slot = "virtio0"
size = "10G"
storage = "local-lvm"
+ format = "raw"
+ }
+
+ network {
+ id = 0
+ model = "virtio"
+ bridge = "vmbr1"
+ tag = 30
+ mtu = 1420
+ }
+}
+
+resource "proxmox_vm_qemu" "photos" {
+ target_node = "hesh"
+ name = "photos"
+ memory = 8192
+ start_at_node_boot = true
+ boot = "order=virtio0;net0"
+ clone_id = 104
+ full_clone = true
+ scsihw = "virtio-scsi-single"
+
+ startup_shutdown {
+ order = 4
+ }
+
+ cpu {
+ cores = 4
+ }
+
+ disk {
+ type = "disk"
+ slot = "virtio0"
+ size = "150G"
+ storage = "local-lvm"
+ format = "raw"
}
network {
@@ -388,6 +424,17 @@ resource "proxmox_vm_qemu" "git" {
tag = 30
mtu = 1420
}
+
+ pcis {
+ pci0 {
+ # raw pass-through of our GPU
+ raw {
+ raw_id = "0000:01:00"
+ primary_gpu = false
+ rombar = true
+ }
+ }
+ }
}
moved {