X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=systems%2Fdilion%2Fvms%2Fbase_image.nix;fp=modules%2Fprivate%2Fsystem%2Fdilion%2Fvms%2Fbase_image.nix;h=46b90eb7e2992b8ac2c6ff1942798847bd1029ac;hb=1a64deeb894dc95e2645a75771732c6cc53a79ad;hp=8de85600dbddee6911c42be6a1009572139c4632;hpb=fa25ffd4583cc362075cd5e1b4130f33306103f0;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/system/dilion/vms/base_image.nix b/systems/dilion/vms/base_image.nix similarity index 82% rename from modules/private/system/dilion/vms/base_image.nix rename to systems/dilion/vms/base_image.nix index 8de8560..46b90eb 100644 --- a/modules/private/system/dilion/vms/base_image.nix +++ b/systems/dilion/vms/base_image.nix @@ -1,10 +1,14 @@ -configuration_file: { pkgs ? import {}, system ? builtins.currentSystem, myEnv, ... }: +configuration_file: { pkgs, myEnv, nixpkgs, environment, pkgs-no-overlay, ... }: let - config = (import { - inherit system; + config = (import (nixpkgs + "/nixos/lib/eval-config.nix") { + inherit (pkgs) system; modules = [ { + _module.args.environment = environment; myEnv = myEnv; - imports = [ configuration_file ]; + imports = [ + (nixpkgs + "/nixos/modules/profiles/qemu-guest.nix") + configuration_file + ]; # We want our template image to be as small as possible, but the deployed image should be able to be # of any size. Hence we resize on the first boot. @@ -22,7 +26,7 @@ let }; } ]; }).config; -in pkgs.vmTools.runInLinuxVM ( +in pkgs-no-overlay.vmTools.runInLinuxVM ( pkgs.runCommand "nixos-base-image" { memSize = 768; @@ -30,13 +34,13 @@ in pkgs.vmTools.runInLinuxVM ( '' mkdir $out diskImage=image.qcow2 - ${pkgs.vmTools.qemu}/bin/qemu-img create -f qcow2 $diskImage 2G + ${pkgs-no-overlay.vmTools.qemu}/bin/qemu-img create -f qcow2 $diskImage 2G mv closure xchg/ ''; postVM = '' echo compressing VM image... - ${pkgs.vmTools.qemu}/bin/qemu-img convert -c $diskImage -O qcow2 $out/nixos.qcow2 + ${pkgs-no-overlay.vmTools.qemu}/bin/qemu-img convert -c $diskImage -O qcow2 $out/nixos.qcow2 ''; buildInputs = [ pkgs.utillinux pkgs.perl pkgs.parted pkgs.e2fsprogs ]; exportReferencesGraph =