In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
Before the commit at hand, the build recipe of
the guest additions iso put the iso file in a directory, with
a name that includes the nix store hash of the fetchurl result.
The virtualbox build recipe doesn't know about
that hash and creates a link without target.
Symptom of this bug is that VirtualBox won't find the iso and
will download it when the user wants to insert the guest iso.
The commit implements two changes:
* The iso build recipe is simplified so its result is
the direct result of `fetchurl`, i.e., it is the iso
file without being wrapped in a dedicated directory.
* The symlink now simply points to the result of
the fetchurl call, hence to the iso file, as it should.
- Build virtualbox guest additions from source and fix paths
- Install VBoxDRMClient to support resizing
- Support resizing on wayland and x11
- Adding multiple new options
- clipboard
- seamless
- Removing x11 option
- Support linux 6.8
Although virtualbox has code to download it at runtime, I'd like to have
it included at build time because:
* I like programs that are fully functional even when offline.
* Runtime downloading doesn't work, it results in error message
"During certificate downloading: Unknown reason".
This change increases the closure size 5 % (969 -> 1020 MiB).