no longer compatible with python2's urllib
```
prawcore/exceptions.py:2: in <module>
from urllib.parse import urlparse
E ImportError: No module named parse
builder for '/nix/store/3l1rqygq58hbwyzn6fqx8x4djbmzgggh-python2.7-prawcore-1.4.0.drv' failed with exit code
```
Configure log still prints `checking for GST... yes`
and the new GST libs appear in RPATH.
wxGTK28 does't seem able to configure with non-legacy GST,
but it's almost unused... so I didn't touch it.
boot.loader.grub.device` was hardcoded to `bootDevice`, which is
wrong, because that's the device for `/`, and with `useBootLoader`
the boot loader is not on that device.
This bug probably came into existence because of bad naming;
`virtualisation.bootDevice` has description
"The disk to be used for the root filesystem", which is very confusing;
it should be `.rootDevice` then!
Unfortunately, the description is right and the attribute name is wrong,
so it is not easy to change this without deprecation.
This commit ensures that even if you use `useBootLoader` and
`diskInterface == "scsi"`, the created VM can boot through, and can run
`nixos-rebuild afterwards.
It also adds extra commentary to explain what's going on in this module
in general in relation to `useBootLoader`.
Build the documentation by default, but install it to seperate outputs
so it doesn't have to be downloaded. Documentation is still disabled
when cross-compiling, because that is currently broken:
wayland -> graphviz -> libdevil -> openexr -> ilmbase (broken)
This will disable many reverse dependencies. If you need your program to work
you will need to migrate it to the newer gstreamer package.
https://github.com/NixOS/nixpkgs/issues/39975
This explanation was contained in the description of
security.initialRootPassword but got lost when it was deprecated
a long ago (f496c3c) and removed.
This option has been deprecated for a long time because is redundant
(users.users.root.initialHashedPassword exists).
Moreover, being of type string, it required to handle the special value
"!" separately, instead of using just `null`.