From d48bf98bcf416f5384a9491a66e2d264d028fe11 Mon Sep 17 00:00:00 2001 From: Yarny0 <41838844+Yarny0@users.noreply.github.com> Date: Sun, 26 Oct 2025 18:16:56 +0100 Subject: [PATCH] nixos-rebuild-ng: tolerate nixpkgs being read-only Classic nixos-rebuild ignores errors when writing `.version-suffix` since commit 365307ada1b6f3fc85b131cdcaaa9fcf19864a31 . Without this it is not possible to do `nixos-rebuild -I nixpkgs=/path/to/read-only/nixpkgs ...`. The commit at hand reconstructs the classic behaviour for `nixos-rebuild-ng`. --- .../ni/nixos-rebuild-ng/src/nixos_rebuild/services.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py index b145f735c283..72168c0499ae 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/services.py @@ -372,4 +372,10 @@ def write_version_suffix(build_flags: Args) -> None: nixpkgs_path = nix.find_file("nixpkgs", build_flags) rev = nix.get_nixpkgs_rev(nixpkgs_path) if nixpkgs_path and rev: - (nixpkgs_path / ".version-suffix").write_text(rev) + try: + (nixpkgs_path / ".version-suffix").write_text(rev) + except OSError as error: + logger.debug( + "ignoring error while writing '.version-suffix' to nixpkgs: %s", + error, + )