From 61c213c64452b17ff46ed43cd5b0e7101d9968fb Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sat, 27 Jun 2020 17:55:29 +0800 Subject: [PATCH] add README --- README.md | 20 ++++++++++++++++++++ xbill.png | Bin 0 -> 1111 bytes 2 files changed, 20 insertions(+) create mode 100644 README.md create mode 100644 xbill.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..84a76d7 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +![XBill](xbill.png) + +WFVM +==== + +A Nix library to create and manage virtual machines running Windows, a medieval operating system found on most computers in 2020. The F stands for "Functional" or a four-letter word of your choice. + +* Reproducible - everything runs in the Nix sandbox with no tricks. +* Fully automatic, parameterizable Windows 10 installation. +* Uses QEMU with KVM. +* Supports incremental installation (using "layers") of additional software via QEMU copy-on-write backing chains. +* Included layers: Anaconda3, a software installer chock full of bugs that pretends to be a package manager, Visual Studio, a spamming system for Microsoft accounts that includes a compiler, and MSYS2, which is the only sane component in the whole lot. +* Supports running arbitrary commands in a VM image in snapshot mode inside a derivation and retrieve the result. +* Network access from the VM is heavily restricted to avoid issues with Microsoft spyware and similar programs. +* When used with Hydra, redistribution of nonfree content can be blocked. + +Example applications: +* Creating reproducible Windows VM images with pre-installed software. +* Compiling Conda packages with Visual Studio in a fully reproducible manner and without having to deal with the constant data corruption caused by Conda. +* Running Windows unit tests on Hydra. diff --git a/xbill.png b/xbill.png new file mode 100644 index 0000000000000000000000000000000000000000..ea5a047a9371269bd7c48a3f58543438b251f5b3 GIT binary patch literal 1111 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL3?z5Yp7kC`v7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpoDRNPl)UP|Nnpd_>r;U z#flRT95%dQDA@4f$Bz#mZX`G){P;29#*T;^8v+6h0t_q?Iu;ZFH8FT}_)UtL4P-Eu z1o;IsI6S+N2I3@nySwm9>|(eHhS@Tj(I6Cc3`v12fJ|CLxkKSONGvmgkPAo0D4prmT!^NenWm)LQ*_yNJ-KJr$d! ztdE|&=6}U|+w^@`l3a?y&m>9j3+hnknxPcN7x5uaXU6q{A6n_B_8i>SaK*+w(%_TS zq^ElWm`{s6QCHjC7M_)mD19!h$2V}@@``}`h~r)y-z82jNUHl)7O?H%TM4BPO*IM1 zP6g-p?G2W#Zkx0$>Pe8N_pPd6ah)r_>ZVJmZB05XZlZ5=$ERo0GTq5{5}%!Zl(Mes z=pknBJ5Pi^b1V*ABh3AGvsrIPp!)U%Tm9-ach6ftnWx;@=FXwjY@PgM-=B?X3<|%G zTZi1-;J>x-`MDW$?;fc;A{y3}cKGAsKq0%WTMz0+EK&LVqghMJYPssKlO}75r+dxP zNqsnnsqM#A!^bnG-}z%D6QkSgyhG88Px{phHI8gs#-bg<1yMG~8FZPBA3mtM?_gD# zQdWc}e+7?8YpTS=J4th2&j_}BcZg})Eg=>CcWX2_45eF}uPxg!Yk|Y-vs+WrZ!8XO z+_tSaFyrgCU7N+8oLzZlt8ZUWw|Gurx~WV^-d5jpA~UWj{Jg{RWwpCRQKnV(u`;cf zO>^%~j4wD*XI$&?e3o@~c+T@zx)z-*vLR}3pPcKaZH3m|+8^II$Sii~nRG2X#nw4WqA^zY_lfP*1${@i zoL^#=-L3DCk)>bOQ+rbS)rAV?qEw!b4U(zG$NOZTW*CWHta3ZPy_T)P$~2*VU-_d6 zFDoy`A4tp7;of%n_r1iD|838e=gfF<=9nO2Eg V!)=RycYqogJYD@<);T3K0RXoN>I47) literal 0 HcmV?d00001