{ lib, stdenvNoCC, }: let stdenv = stdenvNoCC; mkDynixConfigurationDotNix = finalAttrs: { name, /** A *path* to a `configuration.nix`-like NixOS module. * NOT a NixOS module *value*. */ configuration, }: assert lib.isStringLike configuration; let self = finalAttrs.finalPackage; in { name = "configuration-dot-nix-for-${name}"; strictDeps = true; __structuredAttrs = true; preferLocalBuild = true; phases = [ "installPhase" ]; outputs = [ "out" ]; modulesOut = "${placeholder "out"}/share/nixos"; baseConfiguration = configuration; dynixVmConfiguration = ./dynix-vm-configuration.nix; installPhase = '' runHook preInstall install -Dm a=r "$baseConfiguration" "$modulesOut/test-configuration.nix" install -Dm a=r "$dynixVmConfiguration" "$modulesOut/dynix-vm-configuration.nix" echo "/** GENERATED BY mk-test-configuration-dot-nix! */" >> "$modulesOut/configuration.nix" echo "{ ... }:" >> "$modulesOut/configuration.nix" echo >> "$modulesOut/configuration.nix" echo >> "$modulesOut/configuration.nix" echo "{" >> "$modulesOut/configuration.nix" echo " imports = [" >> "$modulesOut/configuration.nix" echo " ./test-configuration.nix" >> "$modulesOut/configuration.nix" echo " ./dynix-vm-configuration.nix" >> "$modulesOut/configuration.nix" echo " ./hardware-configuration.nix" >> "$modulesOut/configuration.nix" echo " ];" >> "$modulesOut/configuration.nix" echo "}" >> "$modulesOut/configuration.nix" runHook postInstall ''; passthru = { modulesPath = self.out + "/share/nixos"; configuration = self.out + "/share/nixos/configuration.nix"; }; }; in lib.extendMkDerivation { constructDrv = stdenv.mkDerivation; extendDrvArgs = mkDynixConfigurationDotNix; }