vs2022-vm/flake.nix

62 lines
1.6 KiB
Nix

{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
wfvm.url = "git+https://git.m-labs.hk/m-labs/wfvm";
# wfvm uses a very old branch of nixpkgs (2023-05-25)
wfvm.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{
self,
nixpkgs,
wfvm,
}:
let
# import nixpkgs
pkgs = (import nixpkgs {});
in
{
packages."${pkgs.system}".windows-vm = wfvm.lib.makeWindowsImage {
windowsImage = (pkgs.fetchurl {
url = "file:///home/primary/Downloads/tiny11.iso";
sha256 = "ea9cee512457c763484dbeaeee98caba8c2e69e0420bdae8c4508e31ad8ccd99";
});
installCommands = [
{
name = "execute oem bat";
script =
let
oem_bat = ./oem/install.bat;
in
''
ln -s ${oem_bat} ./oem_bat.bat
win-put oem_bat.bat .
echo Running Oem Bat...
win-exec 'start /wait "" .\oem_bat.bat'
echo Oem Bat finished
'';
}
{
name = "execute powershell";
script =
let
powershell_oem = ./oem/powershell-stuff.ps1;
in
''
ln -s ${powershell_oem} ./oem_ps.ps1
win-put oem_ps.ps1 .
echo Running Oem PS...
win-exec 'start /wait "" powershell -executionpolicy remotesigned -File .\oem_ps.ps1'
echo Oem powershell finished
'';
}
];
};
};
}