From b03452866fe30258209bf599a35370adc1b6de63 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 | 20 +++++---- deployment/check/proxmox/myvm.nix | 33 +++++++++++++++ deployment/check/proxmox/proxmoxTest.nix | 16 +------ flake.lock | 50 ++++------------------ myvm.nix | 53 ------------------------ npins/sources.json | 19 +++++++-- 6 files changed, 70 insertions(+), 121 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..6e633c2b 100644 --- a/deployment/check/proxmox/flake-part.nix +++ b/deployment/check/proxmox/flake-part.nix @@ -1,17 +1,23 @@ -{ - inputs, - ... -}: - { perSystem = { pkgs, ... }: + let + inherit (pkgs) system lib; + sources = import ../../../npins; + inherit (import "${sources.flake-inputs}/lib.nix") import-flake; + inputs = lib.mapAttrs (_: import-flake) sources; + inherit (inputs) proxmox-nixos; + 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 ]; - _module.args.inputs = inputs; + _module.args = { + inherit sources inputs; + }; }; }; } diff --git a/deployment/check/proxmox/myvm.nix b/deployment/check/proxmox/myvm.nix new file mode 100644 index 00000000..fd5bcece --- /dev/null +++ b/deployment/check/proxmox/myvm.nix @@ -0,0 +1,33 @@ +{ + pkgs, + ... +}: +let + sources = import ../../../npins; +in +{ + imports = [ + ../../../infra/common/nixos/hardware.nix + "${sources.disko}/module.nix" # https://github.com/nix-community/disko/issues/1060 + ]; + + 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..8f973cfb 100644 --- a/deployment/check/proxmox/proxmoxTest.nix +++ b/deployment/check/proxmox/proxmoxTest.nix @@ -1,39 +1,25 @@ { - inputs, - lib, pkgs, - system, + inputs, ... }: let - # sources = import ../../../npins; - # proxmox-nixos = import sources.proxmox-nixos; 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="; }; in - { name = "proxmox-basic"; nodes.mypve = { imports = [ - # proxmox-nixos.nixosModules.proxmox-ve - # "${sources.proxmox-nixos}/modules/proxmox-ve" inputs.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} - ]; - services.proxmox-ve = { enable = true; - # package = pkgs.callPackage "${sources.proxmox-nixos}/pkgs/proxmox-ve" { }; ipAddress = "192.168.1.1"; vms = { myvm1 = { diff --git a/flake.lock b/flake.lock index 92278138..5c6dbace 100644 --- a/flake.lock +++ b/flake.lock @@ -17,25 +17,6 @@ "type": "github" } }, - "crane_2": { - "inputs": { - "nixpkgs": "nixpkgs_5" - }, - "locked": { - "lastModified": 1717383740, - "narHash": "sha256-559HbY4uhNeoYvK3H6AMZAtVfmR3y8plXZ1x6ON/cWU=", - "owner": "ipetkov", - "repo": "crane", - "rev": "b65673fce97d277934488a451724be94cc62499a", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "ref": "v0.17.3", - "repo": "crane", - "type": "github" - } - }, "dream2nix": { "inputs": { "nixpkgs": [ @@ -600,16 +581,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1732981179, - "narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=", + "lastModified": 1748437600, + "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65", + "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "type": "indirect" } }, @@ -676,22 +657,6 @@ "type": "github" } }, - "nixpkgs_5": { - "locked": { - "lastModified": 1714656196, - "narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "94035b482d181af0a0f8f77823a790b256b7c3cc", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "parts": { "inputs": { "nixpkgs-lib": [ @@ -717,18 +682,17 @@ }, "proxmox-nixos": { "inputs": { - "crane": "crane_2", "flake-compat": "flake-compat_5", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", "utils": "utils" }, "locked": { - "lastModified": 1746882493, - "narHash": "sha256-KbkIGJ6fe5F6AZRCzrNH3vNAnbbt+gf/PWrfMZ/B0As=", + "lastModified": 1749385025, + "narHash": "sha256-2w6+xAMdT9LgMxDHaIyddMTacBbF7RjaZFyGjjTDBhg=", "owner": "SaumonNet", "repo": "proxmox-nixos", - "rev": "bda8df28b6656843e459f166b04bc291bc495a29", + "rev": "48f39fbe2e8f90f9ac160dd4b6929f3ac06d8223", "type": "github" }, "original": { 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..945fb18c 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": "48f39fbe2e8f90f9ac160dd4b6929f3ac06d8223", + "url": "https://github.com/SaumonNet/proxmox-nixos/archive/48f39fbe2e8f90f9ac160dd4b6929f3ac06d8223.tar.gz", + "hash": "0606qcs8x1jwckd1ivf52rqdmi3lkn66iiqh6ghd4kqx0g2bw3nv" } }, "version": 5