From 3ccdf55054b72dc29e65ef836185b55ea870ef56 Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Sat, 7 Jun 2025 21:54:54 +0200 Subject: [PATCH] get test to run --- deployment/check/proxmox/flake-part.nix | 10 ++++- deployment/check/proxmox/myvm.nix | 43 +++++++++++++++++++ deployment/check/proxmox/proxmoxTest.nix | 23 ++++------ myvm.nix | 53 ------------------------ npins/sources.json | 19 +++++++-- 5 files changed, 77 insertions(+), 71 deletions(-) create mode 100644 deployment/check/proxmox/myvm.nix delete mode 100644 myvm.nix diff --git a/deployment/check/proxmox/flake-part.nix b/deployment/check/proxmox/flake-part.nix index 7465709d..3826707d 100644 --- a/deployment/check/proxmox/flake-part.nix +++ b/deployment/check/proxmox/flake-part.nix @@ -6,8 +6,16 @@ { perSystem = { pkgs, ... }: + let + sources = import ../../../npins; + inherit (import "${sources.flake-inputs}/lib.nix") import-flake; + proxmox-nixos = (import-flake sources.proxmox-nixos); + inherit (pkgs) system; + overlay = proxmox-nixos.overlays.${system}; + pkgs' = pkgs.extend overlay; + in { - checks.proxmox-basic = pkgs.testers.runNixOSTest { + checks.proxmox-basic = pkgs'.testers.runNixOSTest { imports = [ ./proxmoxTest.nix ]; diff --git a/deployment/check/proxmox/myvm.nix b/deployment/check/proxmox/myvm.nix new file mode 100644 index 00000000..49ccac2b --- /dev/null +++ b/deployment/check/proxmox/myvm.nix @@ -0,0 +1,43 @@ +{ + pkgs, + ... +}: +let + sources = import ../../../npins; + pkgs' = pkgs.extend overlay; + inherit (import "${sources.flake-inputs}/lib.nix") import-flake; + proxmox-nixos = (import-flake sources.proxmox-nixos); + inherit (pkgs) system; + overlay = proxmox-nixos.overlays.${system}; +in +{ + imports = [ + proxmox-nixos.nixosModules.proxmox-ve + (import "${sources.disko}/module.nix") + ../../../infra/common/nixos/hardware.nix + ]; + + environment.systemPackages = with pkgs'; [ + proxmox-ve + ]; + + networking.hostName = "myvm"; + virtualisation.proxmox = { + node = "myproxmoxnode"; + iso = pkgs.fetchurl { + url = "https://releases.nixos.org/nixos/24.05/nixos-24.05.7139.bcba2fbf6963/nixos-minimal-24.05.7139.bcba2fbf6963-x86_64-linux.iso"; + hash = "sha256-plre/mIHdIgU4xWU+9xErP+L4i460ZbcKq8iy2n4HT8="; + }; + vmid = 101; + memory = 4096; + cores = 4; + sockets = 2; + net = [ + { + model = "virtio"; + bridge = "vmbr0"; + } + ]; + scsi = [ { file = "local:16"; } ]; # This will create a 16GB volume in 'local' + }; +} diff --git a/deployment/check/proxmox/proxmoxTest.nix b/deployment/check/proxmox/proxmoxTest.nix index 8a1a1eca..b8efb097 100644 --- a/deployment/check/proxmox/proxmoxTest.nix +++ b/deployment/check/proxmox/proxmoxTest.nix @@ -1,39 +1,34 @@ { - inputs, - lib, pkgs, - system, ... }: let - # sources = import ../../../npins; - # proxmox-nixos = import sources.proxmox-nixos; + sources = import ../../../npins; minimalIso = pkgs.fetchurl { url = "https://releases.nixos.org/nixos/24.05/nixos-24.05.7139.bcba2fbf6963/nixos-minimal-24.05.7139.bcba2fbf6963-x86_64-linux.iso"; hash = "sha256-plre/mIHdIgU4xWU+9xErP+L4i460ZbcKq8iy2n4HT8="; }; + inherit (import "${sources.flake-inputs}/lib.nix") import-flake; + proxmox-nixos = (import-flake sources.proxmox-nixos); + inherit (pkgs) system; + overlay = proxmox-nixos.overlays.${system}; + pkgs' = pkgs.extend overlay; in - { name = "proxmox-basic"; nodes.mypve = { imports = [ - # proxmox-nixos.nixosModules.proxmox-ve - # "${sources.proxmox-nixos}/modules/proxmox-ve" - inputs.proxmox-nixos.nixosModules.proxmox-ve + proxmox-nixos.nixosModules.proxmox-ve ]; - nixpkgs.overlays = lib.mkForce [ - # proxmox-nixos.overlays.x86_64-linux - # (import "${sources.proxmox-nixos}/pkgs" { inherit pkgs; pkgs-unstable = pkgs; craneLib = pkgs.callPackage "${sources.crane}/lib" { }; }) - inputs.proxmox-nixos.overlays.${system} + environment.systemPackages = with pkgs'; [ + proxmox-ve ]; services.proxmox-ve = { enable = true; - # package = pkgs.callPackage "${sources.proxmox-nixos}/pkgs/proxmox-ve" { }; ipAddress = "192.168.1.1"; vms = { myvm1 = { diff --git a/myvm.nix b/myvm.nix deleted file mode 100644 index f8a20995..00000000 --- a/myvm.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - pkgs, - lib, - inputs, - system, - ... -}: -let - sources = import ./npins; - # pkgs = import sources.nixpkgs { inherit system; }; - # pkgs = import sources.nixpkgs { }; - # pkgs = import inputs.nixpkgs { }; - # proxmox-nixos = import sources.proxmox-nixos; -in -{ - # error: The option `virtualisation.proxmox' does not exist - imports = [ - (import "${sources.disko}/module.nix") - ./infra/common/nixos/hardware.nix - # proxmox-nixos.nixosModules.proxmox-ve # error: 'builtins.storePath' is not allowed in pure evaluation mode - # "${sources.proxmox-nixos}/modules/proxmox-ve" - inputs.proxmox-nixos.nixosModules.proxmox-ve - ]; - - nixpkgs.overlays = lib.mkForce [ - # proxmox-nixos.overlays.x86_64-linux # error: 'builtins.storePath' is not allowed in pure evaluation mode - # (import "${sources.proxmox-nixos}/pkgs" { - # inherit pkgs; - # pkgs-unstable = pkgs; - # craneLib = pkgs.callPackage "${sources.crane}/lib" { }; - # }) - inputs.proxmox-nixos.overlays.${system} - ]; - networking.hostName = "myvm"; - virtualisation.proxmox = { - node = "myproxmoxnode"; - iso = pkgs.fetchurl { - url = "https://releases.nixos.org/nixos/24.05/nixos-24.05.7139.bcba2fbf6963/nixos-minimal-24.05.7139.bcba2fbf6963-x86_64-linux.iso"; - hash = "sha256-plre/mIHdIgU4xWU+9xErP+L4i460ZbcKq8iy2n4HT8="; - }; - vmid = 101; - memory = 4096; - cores = 4; - sockets = 2; - net = [ - { - model = "virtio"; - bridge = "vmbr0"; - } - ]; - scsi = [ { file = "local:16"; } ]; # This will create a 16GB volume in 'local' - }; -} diff --git a/npins/sources.json b/npins/sources.json index 685c581f..48080f74 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -57,6 +57,19 @@ "url": "https://api.github.com/repos/nix-community/disko/tarball/v1.12.0", "hash": "0wbx518d2x54yn4xh98cgm65wvj0gpy6nia6ra7ns4j63hx14fkq" }, + "flake-inputs": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "fricklerhandwerk", + "repo": "flake-inputs" + }, + "branch": "main", + "submodules": false, + "revision": "6461d0b56e790bf289af07c5e5261abbf4f536af", + "url": "https://github.com/fricklerhandwerk/flake-inputs/archive/6461d0b56e790bf289af07c5e5261abbf4f536af.tar.gz", + "hash": "03mwisvr1mc3nd33nvg4bvcyxjxpm4lwhwym39r0768cm1007ixl" + }, "flake-parts": { "type": "Git", "repository": { @@ -147,9 +160,9 @@ }, "branch": "main", "submodules": false, - "revision": "bda8df28b6656843e459f166b04bc291bc495a29", - "url": "https://github.com/SaumonNet/proxmox-nixos/archive/bda8df28b6656843e459f166b04bc291bc495a29.tar.gz", - "hash": "02yhq6gk3pva7pzhgypdnsfl1wyy8yrwwhll05x92ywzkqc0if99" + "revision": "89a8387839864f3a7ec9fa3556d8dd3da8ef89aa", + "url": "https://github.com/SaumonNet/proxmox-nixos/archive/89a8387839864f3a7ec9fa3556d8dd3da8ef89aa.tar.gz", + "hash": "06jpz3sf2k7k30v2hxzdy18hwmxs68azg9dinh9fj3ygr9dhhn3w" } }, "version": 5