WIP: overlay proxmox to use regular nixpkgs version

Signed-off-by: Kiara Grouwstra <kiara@procolix.eu>
This commit is contained in:
Kiara Grouwstra 2025-10-26 23:19:13 +01:00
parent d1611a0946
commit cecdf38ad5
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU
5 changed files with 63 additions and 71 deletions

View file

@ -1,34 +1,8 @@
{
pkgs,
inputs,
sources,
system,
}:
let
pkgs = import sources.nixpkgs-stable {
inherit system;
overlays = [ overlay ];
};
overlay = _: prev: {
terraform-backend =
prev.callPackage "${sources.nixpkgs-unstable}/pkgs/by-name/te/terraform-backend/package.nix"
{ };
inherit
(import "${sources.proxmox-nixos}/pkgs" {
craneLib = pkgs.callPackage "${sources.crane}/lib" { };
# breaks from https://github.com/NixOS/nixpkgs/commit/06b354eb2dc535c57e9b4caaa16d79168f117a26,
# which updates libvncserver to 0.9.15, which was not yet patched at https://git.proxmox.com/?p=vncterm.git.
inherit pkgs;
# not so picky about version for our purposes
pkgs-unstable = pkgs;
})
proxmox-ve
pve-manager
pve-ha-manager
pve-qemu
;
};
in
pkgs.testers.runNixOSTest {
node.specialArgs = {
inherit

View file

@ -1,30 +1,8 @@
{
runNixOSTest,
pkgs,
sources,
system,
}:
let
pkgs = import sources.nixpkgs-stable {
inherit system;
overlays = [ overlay ];
};
overlay = _: _: {
inherit
(import "${sources.proxmox-nixos}/pkgs" {
craneLib = pkgs.callPackage "${sources.crane}/lib" { };
# breaks from https://github.com/NixOS/nixpkgs/commit/06b354eb2dc535c57e9b4caaa16d79168f117a26,
# which updates libvncserver to 0.9.15, which was not yet patched at https://git.proxmox.com/?p=vncterm.git.
inherit pkgs;
# not so picky about version for our purposes
pkgs-unstable = pkgs;
})
proxmox-ve
pve-ha-manager
;
};
in
runNixOSTest {
pkgs.testers.runNixOSTest {
node.specialArgs = {
inherit
sources

View file

@ -8,8 +8,7 @@
{
checks = {
proxmox-basic = import ./check/proxmox {
inherit (pkgs.testers) runNixOSTest;
inherit sources system;
inherit pkgs sources;
};
deployment-basic = import ./check/basic {
@ -42,7 +41,7 @@
};
deployment-model-tf-proxmox = import ./check/data-model-tf-proxmox {
inherit inputs sources system;
inherit pkgs inputs sources;
};
};
};

View file

@ -8,7 +8,7 @@
## contained two distinct helpers for migrating away from flakes)? cf
## https://git.fediversity.eu/Fediversity/Fediversity/pulls/447#issuecomment-8671
inputs@{ self, ... }:
inputs@{ self, system, ... }:
let
sources = import ./npins;
@ -17,16 +17,54 @@ let
# XXX(@fricklerhandwerk): this atrocity is required to splice in a foreign Nixpkgs via flake-parts
# XXX - this is just importing a flake
nixpkgs = import-flake { src = sources.nixpkgs; };
overlays = [
# https://github.com/SaumonNet/proxmox-nixos/issues/188
(
_: prev:
let
# override nixpkgs versions in proxmox-nixos
pm = import "${sources.proxmox-nixos}/pkgs" {
craneLib = prev.callPackage "${sources.crane}/lib" { };
pkgs = prev;
pkgs-unstable = prev;
};
vncterm = pm.vncterm.override {
libvncserver = prev.libvncserver.overrideAttrs (_: {
version = "0.9.14";
src = sources.libvncserver;
});
};
pve-qemu-server = pm.pve-qemu-server.override { inherit vncterm; };
pve-ha-manager = pm.pve-ha-manager.override { inherit pve-qemu-server; };
pve-manager = pm.pve-manager.override { inherit pve-ha-manager; };
proxmox-ve = pm.proxmox-ve.override {
inherit
pve-ha-manager
pve-manager
pve-qemu-server
vncterm
;
};
in
{
inherit
proxmox-ve
pve-ha-manager
;
}
)
];
pkgs = import nixpkgs { inherit system overlays; };
# XXX - this overrides the inputs attached to `self`
inputs' = self.inputs // {
nixpkgs = nixpkgs;
nixpkgs = pkgs;
};
self' = self // {
inputs = inputs';
};
inherit (nixpkgs) lib outPath;
inherit (pkgs) lib outPath;
flake-parts-lib = import "${sources.flake-parts}/lib.nix" { inherit lib; };
in
@ -37,7 +75,7 @@ flake-parts-lib.mkFlake
# XXX - finally we override the overall set of `inputs` -- we need both:
# `flake-parts obtains `nixpkgs` from `self.inputs` and not from `inputs`.
inputs = inputs // {
inherit nixpkgs;
nixpkgs = pkgs;
};
self = self';
specialArgs = {

View file

@ -141,6 +141,22 @@
"url": "https://api.github.com/repos/bigskysoftware/htmx/tarball/v2.0.4",
"hash": "1c4zm3b7ym01ijydiss4amd14mv5fbgp1n71vqjk4alc35jlnqy2"
},
"libvncserver": {
"type": "GitRelease",
"repository": {
"type": "GitHub",
"owner": "LibVNC",
"repo": "libvncserver"
},
"pre_releases": false,
"version_upper_bound": null,
"release_prefix": null,
"submodules": false,
"version": "LibVNCServer-0.9.14",
"revision": "10e9eb75f73e973725dc75c373de5d89807af028",
"url": "https://api.github.com/repos/LibVNC/libvncserver/tarball/LibVNCServer-0.9.14",
"hash": "1x2nki6hyrafhc0j95d3v717hhmn4r6cx9qynj0rxyg94iw5k9cj"
},
"nix-unit": {
"type": "Git",
"repository": {
@ -167,19 +183,6 @@
"url": "https://github.com/nixos/nixpkgs/archive/f33a4d26226c05d501b9d4d3e5e60a3a59991921.tar.gz",
"hash": "1b6dm1sn0bdpcsmxna0zzspjaixa2dald08005fry5jrbjvwafdj"
},
"nixpkgs-stable": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "nixos",
"repo": "nixpkgs"
},
"branch": "nixos-25.05",
"submodules": false,
"revision": "a1ae8ef72f64a845ecce5c6dcf65d546bf7deeb4",
"url": "https://github.com/nixos/nixpkgs/archive/a1ae8ef72f64a845ecce5c6dcf65d546bf7deeb4.tar.gz",
"hash": "0d7lp30wyy5647gpm8rnihvdcpmgmfr9c5yg4fhl31lsg8mlbg16"
},
"nixpkgs-unstable": {
"type": "Git",
"repository": {