···1223 </para>
1224 </listitem>
1225 </itemizedlist>
1226+ <itemizedlist>
1227+ <listitem>
1228+ <para>
1229+ For AMD GPUs, Vulkan can now be used by adding <literal>amdvlk</literal>
1230+ to <literal>hardware.opengl.extraPackages</literal>.
1231+ </para>
1232+ </listitem>
1233+ <listitem>
1234+ <para>
1235+ Similarly, still for AMD GPUs, the ROCm OpenCL stack can now be used by adding
1236+ <literal>rocm-opencl-icd</literal> to
1237+ <literal>hardware.opengl.extraPackages</literal>.
1238+ </para>
1239+ </listitem>
1240+ </itemizedlist>
1241 </section>
1242</section>
···474 )
475 [dms wms]
476 );
477+478+ # Make xsessions and wayland sessions installed at
479+ # /run/current-system/sw/share as some programs
480+ # have behavior that depends on them being installed
481+ environment.systemPackages = [
482+ cfg.displayManager.sessionData.desktops
483+ ];
484 };
485486 imports = [
···1-A field trial currently enables the passthrough command decoder, which causes
2-gl_factory.cc to try kGLImplementationEGLANGLE first, which causes Chromium to fail
3-to load libGLESv2.so on NixOS. It somehow does not try kGLImplementationDesktopGL,
4-and so there is no GL support at all.
5-6-Revert to using the validating command decoder, which prevents gl_factory.cc
7-from touching allowed_impls, allowing it to successfully use kGLImplementationDesktopGL.
8-9-diff --git a/ui/gl/gl_utils.cc b/ui/gl/gl_utils.cc
10-index 697cbed5fe2d..8419bdb21a2f 100644
11---- a/ui/gl/gl_utils.cc
12-+++ b/ui/gl/gl_utils.cc
13-@@ -71,9 +71,10 @@ bool UsePassthroughCommandDecoder(const base::CommandLine* command_line) {
14- } else if (switch_value == kCmdDecoderValidatingName) {
15- return false;
16- } else {
17-- // Unrecognized or missing switch, use the default.
18-- return base::FeatureList::IsEnabled(
19-- features::kDefaultPassthroughCommandDecoder);
20-+ // Ignore the field trial that enables it; disable it until
21-+ // gl_factory.cc kGLImplementationEGLANGLE issues are sorted
22-+ // out on NixOS.
23-+ return false;
24- }
25- }
26- }
···2, buildGoPackage
3, fetchFromGitHub
4, callPackage
05}:
6let
7- list = import ./data.nix;
89- toDrv = data:
10- buildGoPackage rec {
11- inherit (data) owner repo rev version sha256;
12- name = "${repo}-${version}";
13- goPackagePath = "github.com/${owner}/${repo}";
14 subPackages = [ "." ];
15 src = fetchFromGitHub {
16- inherit owner repo rev sha256;
17 };
18 # Terraform allow checking the provider versions, but this breaks
19 # if the versions are not provided via file paths.
20- postBuild = "mv $NIX_BUILD_TOP/go/bin/${repo}{,_v${version}}";
021 };
2223 # Google is now using the vendored go modules, which works a bit differently
···48 });
4950 # These providers are managed with the ./update-all script
51- automated-providers = lib.mapAttrs (_: toDrv) list;
5253 # These are the providers that don't fall in line with the default model
54 special-providers = {
···56 google = patchGoModVendor automated-providers.google;
57 google-beta = patchGoModVendor automated-providers.google-beta;
58 ibm = patchGoModVendor automated-providers.ibm;
00000005960 # providers that were moved to the `hashicorp` organization,
61 # but haven't updated their references yet:
···2, buildGoPackage
3, fetchFromGitHub
4, callPackage
5+, runtimeShell
6}:
7let
8+ list = lib.importJSON ./providers.json;
910+ toDrv = name: data:
11+ buildGoPackage {
12+ pname = data.repo;
13+ version = data.version;
14+ goPackagePath = "github.com/${data.owner}/${data.repo}";
15 subPackages = [ "." ];
16 src = fetchFromGitHub {
17+ inherit (data) owner repo rev sha256;
18 };
19 # Terraform allow checking the provider versions, but this breaks
20 # if the versions are not provided via file paths.
21+ postBuild = "mv $NIX_BUILD_TOP/go/bin/${data.repo}{,_v${data.version}}";
22+ passthru = data;
23 };
2425 # Google is now using the vendored go modules, which works a bit differently
···50 });
5152 # These providers are managed with the ./update-all script
53+ automated-providers = lib.mapAttrs (toDrv) list;
5455 # These are the providers that don't fall in line with the default model
56 special-providers = {
···58 google = patchGoModVendor automated-providers.google;
59 google-beta = patchGoModVendor automated-providers.google-beta;
60 ibm = patchGoModVendor automated-providers.ibm;
61+62+ acme = automated-providers.acme.overrideAttrs (attrs: {
63+ prePatch = attrs.prePatch or "" + ''
64+ substituteInPlace go.mod --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
65+ substituteInPlace main.go --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
66+ '';
67+ });
6869 # providers that were moved to the `hashicorp` organization,
70 # but haven't updated their references yet:
···4 # the frontend version corresponding to a specific home-assistant version can be found here
5 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
6 pname = "home-assistant-frontend";
7- version = "20200918.2";
89 src = fetchPypi {
10 inherit pname version;
11- sha256 = "1gmk5rbfyqanj30dinfphxrsji4l1yiya2p0ahybyjb9fbzz9cl4";
12 };
1314 # no Python tests implemented
···4 # the frontend version corresponding to a specific home-assistant version can be found here
5 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
6 pname = "home-assistant-frontend";
7+ version = "20201001.2";
89 src = fetchPypi {
10 inherit pname version;
11+ sha256 = "1wyac980d8j8bk4bzh9y3a5c4xqfn3062wj5m45kwsx1f5rfx26j";
12 };
1314 # no Python tests implemented