This fixes cd-ing to `/sudo:localhost:` in eshell and executing
commands in that eshell via TRAMP.
Test case:
1. `M-x eshell`
2. `cd /sudo:localhost:`
3. Run any command that's not an eshell builtin
There is a buffer overflow problem in mtr which is fixed upstream, and
can be reproduced with:
❯ mtr -z -4 -c 5 -w example.com
Start: 2023-09-12T09:38:31+0000
*** buffer overflow detected ***: terminated
[1] 293109 abort (core dumped) mtr -z -4 -c 5 -w example.com
Changes the build and install phases to use archives produced by
[distpack]. This allows us to drop the code that cleans GOROOT and moves
cross-compiled binaries out of bin/GOOS_GOARCH, and potentially avoid
issues like [missing GOROOT/go.env] in the future.
[distpack]: https://pkg.go.dev/cmd/distpack
[missing GOROOT/go.env]: cbc976a97c
For NVLink topology systems we need fabricmanager. Fabricmanager itself is
dependent on the datacenter driver set and not the regular x11 ones, it is also
tightly tied to the driver version. Furhtermore the current cudaPackages
defaults to version 11.8, which corresponds to the 520 datacenter drivers.
Future improvement should be to switch the main nvidia datacenter driver version
on the `config.cudaVersion` since these are well known from:
> https://docs.nvidia.com/deploy/cuda-compatibility/index.html#use-the-right-compat-package
This adds nixos configuration options `hardware.nvidia.datacenter.enable` and
`hardware.nvidia.datacenter.settings` (the settings configure fabricmanager)
Other interesting external links related to this commit are:
* Fabricmanager download site:
- https://developer.download.nvidia.com/compute/cuda/redist/fabricmanager/linux-x86_64/
* Data Center drivers:
- https://www.nvidia.com/Download/driverResults.aspx/193711/en-us/
Implementation specific details:
* Fabricmanager is added as a passthru package, similar to settings and
presistenced.
* Adds `use{Settings,Persistenced,Fabricmanager}` with defaults to preserve x11
expressions.
* Utilizes mkMerge to split the `hardware.nvidia` module into three comment
delimited sections:
1. Common
2. X11/xorg
3. Data Center
* Uses asserts to make the configurations mutualy exclusive.
Notes:
* Data Center Drivers are `x86_64` only.
* Reuses the `nvidia_x11` attribute in nixpkgs on enable, e.g. doesn't change it
to `nvidia_driver` and sets that to either `nvidia_x11` or `nvidia_dc`.
* Should have a helper function which is switched on `config.cudaVersion` like
`selectHighestVersion` but rather `selectCudaCompatibleVersion`.