From 919a8a5028e4b94370e9c3f6b19cda48f9c97f7b Mon Sep 17 00:00:00 2001 From: oxalica Date: Fri, 16 Jul 2021 19:18:50 +0800 Subject: [PATCH] Fix NixOS detection Use `/etc/os-release` instead of `/etc/NIXOS`. The latter one does not exist on NixOS when using tmpfs as root. --- src/bootstrap/bootstrap.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index f9904cb610d..1c5e9d5d837 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -580,7 +580,13 @@ class RustBuild(object): if ostype != "Linux": return - if not os.path.exists("/etc/NIXOS"): + # Use `/etc/os-release` instead of `/etc/NIXOS`. + # The latter one does not exist on NixOS when using tmpfs as root. + try: + with open("/etc/os-release", "r") as f: + if not any(line.strip() == "ID=nixos" for line in f): + return + except FileNotFoundError: return if os.path.exists("/lib"): return