From 192ea9b54d346108de913a1a12d928c6ea3f58a7 Mon Sep 17 00:00:00 2001 From: Git Sagar Date: Mon, 15 Jun 2026 10:04:52 -0300 Subject: [PATCH] fix: use vmix's own locked nixpkgs for all image building The NixOS module was importing lib directly with the host's pkgs, causing image customization to use the host's guestfs-tools instead of vmix's locked version. guestfs-tools 1.52.2 (from host nixpkgs) has a bug that overwrites /boot/grub/grub.cfg with resolv.conf content, breaking VM boot. Now vmixLib is built once in flake.nix with vmix's own nixpkgs and passed through the overlay to pkgs.vmixLib. Removes overlay.nix and module.nix as the logic is inlined in flake.nix. Co-Authored-By: Claude Opus 4.6 (1M context) --- flake.nix | 7 +++++-- module.nix | 6 ------ nixos/default.nix | 6 ++---- overlay.nix | 7 ------- 4 files changed, 7 insertions(+), 19 deletions(-) delete mode 100644 module.nix delete mode 100644 overlay.nix diff --git a/flake.nix b/flake.nix index 9cbbbde..4ec2e5a 100644 --- a/flake.nix +++ b/flake.nix @@ -15,9 +15,12 @@ lib = pkgs.lib; vmixLib = import ./lib { inherit pkgs lib system; }; in { - overlays.default = import ./overlay.nix; + overlays.default = final: prev: { inherit vmixLib; }; - nixosModules.default = import ./module.nix; + nixosModules.default = { config, pkgs, lib, ... }: { + imports = [ ./nixos/default.nix ]; + config.nixpkgs.overlays = [ self.overlays.default ]; + }; lib.${system} = vmixLib; diff --git a/module.nix b/module.nix deleted file mode 100644 index 1f26736..0000000 --- a/module.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - imports = [ - ./nixos/default.nix - ]; -} \ No newline at end of file diff --git a/nixos/default.nix b/nixos/default.nix index 2944e04..75dce49 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,7 +1,7 @@ { config, pkgs, lib, ... }: with lib; let - vmixLib = import ./../lib {inherit pkgs lib; }; + vmixLib = pkgs.vmixLib; args = { inherit config pkgs lib vmixLib; }; in { @@ -15,6 +15,4 @@ in (types.submodule (import ./namespaceSubmoduleOptions.nix args)); default = {}; }; - - config.nixpkgs.overlays = [ (import ../overlay.nix) ]; -} \ No newline at end of file +} diff --git a/overlay.nix b/overlay.nix deleted file mode 100644 index 0f26929..0000000 --- a/overlay.nix +++ /dev/null @@ -1,7 +0,0 @@ -final: prev: -let - # Pin vmixLib to nixpkgs 25-11 so all VM images are built with a consistent toolchain - vmixPkgs = prev.v25-11 or prev; -in { - vmixLib = vmixPkgs.callPackage ./lib {}; -} \ No newline at end of file