diff --git a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix index 3d76183e7113..98efe5f72846 100644 --- a/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix +++ b/pkgs/development/compilers/flutter/artifacts/fetch-artifacts.nix @@ -40,6 +40,12 @@ runCommand "flutter-artifacts-${flutterPlatform}-${systemPlatform}" nativeBuildInputs = [ xorg.lndir flutter' unzip ]; NIX_FLUTTER_TOOLS_VM_OPTIONS = "--root-certs-file=${cacert}/etc/ssl/certs/ca-bundle.crt"; + NIX_FLUTTER_OPERATING_SYSTEM = { + "x86_64-linux" = "linux"; + "aarch64-linux" = "linux"; + "x86_64-darwin" = "macos"; + "aarch64-darwin" = "macos"; + }.${systemPlatform}; outputHash = hash; outputHashMode = "recursive"; diff --git a/pkgs/development/compilers/flutter/patches/override-operating-system.patch b/pkgs/development/compilers/flutter/patches/override-operating-system.patch new file mode 100644 index 000000000000..07d57175bd9a --- /dev/null +++ b/pkgs/development/compilers/flutter/patches/override-operating-system.patch @@ -0,0 +1,13 @@ +diff --git a/packages/flutter_tools/lib/src/base/platform.dart b/packages/flutter_tools/lib/src/base/platform.dart +index 45da89ad4c..2d79dbaece 100644 +--- a/packages/flutter_tools/lib/src/base/platform.dart ++++ b/packages/flutter_tools/lib/src/base/platform.dart +@@ -132,7 +132,7 @@ class LocalPlatform extends Platform { + String get pathSeparator => io.Platform.pathSeparator; + + @override +- String get operatingSystem => io.Platform.operatingSystem; ++ String get operatingSystem => io.Platform.environment['NIX_FLUTTER_OPERATING_SYSTEM'] ?? io.Platform.operatingSystem; + + @override + String get operatingSystemVersion => io.Platform.operatingSystemVersion;