From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 0AC96AFBD; Fri, 26 Jun 2026 18:55:42 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 7F303AFB1; Fri, 26 Jun 2026 18:55:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_PASS,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from mail-43172.protonmail.ch (mail-43172.protonmail.ch [185.70.43.172]) by atuin.qyliss.net (Postfix) with ESMTPS id 6CF4DAF66 for ; Fri, 26 Jun 2026 18:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=colbyt.com; s=protonmail; t=1782500137; x=1782759337; bh=svta9axui1qwzU4jCR/XLhRHKZmGZYoOUeXGq02fyJE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:From:To: Cc:Date:Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=OC/1Yo4T22DS5J23E6MSDtSUHOGgwskrwzKR5RnChm3GoB5KY2GiQGUlEYhMRHDIf yt6h8ucfAvkP6ZwhDUYtMa0JabKFGEYGoPh0VHOWd1qTVYdubTQk/OEh6t6JG/Teif IZaZKrUIuLGBfS37fFVtZOzrunh6aye/gMrfSiy+/I6hpxtfpGx5Wl7F5asU0Tsex1 7xRVTHWxpSfZ2r48LPf17tXKVXWS2LXaJJBUURwwlVcWdhvNO5nIH9e4ttxcRQ9CSl qTlvvmVdxD8qBwCiii532KHDh2NKFI9BXBx0p6nBZ2OJ30kNVF7CyxepCqZI2PhF/i U2yq1PJzCqhZg== X-Pm-Submission-Id: 4gn4cj5czPz2Sd3F From: colbyt To: devel@spectrum-os.org Subject: [PATCH 8/8] vm-lib: allow app VMs to name closure roots Date: Fri, 26 Jun 2026 11:55:08 -0700 Message-ID: <20260626185509.3715326-9-colby@colbyt.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260626185509.3715326-1-colby@colbyt.com> References: <20260626185509.3715326-1-colby@colbyt.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: 3D5G46SMO7EQAOMZK75ZD5XYDFKP5PL3 X-Message-ID-Hash: 3D5G46SMO7EQAOMZK75ZD5XYDFKP5PL3 X-MailFrom: colby@colbyt.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: colbyt X-Mailman-Version: 3.3.10 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: make-vm copies the closure of the run path into the image. For app VMs that use lib.getExe, that can miss files from the package output that owns the executable. Allow callers to pass explicit closure roots, and use the package derivations for the foot and Firefox app VMs. Signed-off-by: colbyt --- vm-lib/make-vm.nix | 4 ++-- vm/app/firefox.nix | 1 + vm/app/foot.nix | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/vm-lib/make-vm.nix b/vm-lib/make-vm.nix index 7847883..9f11bbd 100644 --- a/vm-lib/make-vm.nix +++ b/vm-lib/make-vm.nix @@ -14,7 +14,7 @@ pkgs.pkgsStatic.callPackage ( { lib, runCommand, writeClosure, erofs-utils }: -{ run, type, providers ? {}, sharedDirs ? {} }: +{ run, runClosure ? [ run ], type, providers ? {}, sharedDirs ? {} }: let inherit (lib) any attrValues concatLists hasInfix mapAttrsToList; @@ -38,7 +38,7 @@ runCommand "spectrum-vm" { echo ${type} > fs/type ln -s ${run} fs/run mkdir -p fs${builtins.storeDir} - comm -23 <(sort ${writeClosure [ run ]}) \ + comm -23 <(sort ${writeClosure runClosure}) \ <(sort ${writeClosure [ basePaths ]}) | xargs -rd '\n' cp -rvt fs${builtins.storeDir} diff --git a/vm/app/firefox.nix b/vm/app/firefox.nix index 164453c..6b84a30 100644 --- a/vm/app/firefox.nix +++ b/vm/app/firefox.nix @@ -8,4 +8,5 @@ callSpectrumPackage ../make-vm.nix {} { providers.net = [ "sys.netvm" ]; type = "nix"; run = lib.getExe firefox; + runClosure = [ firefox ]; }) (_: {}) diff --git a/vm/app/foot.nix b/vm/app/foot.nix index 332ccf4..62d7aba 100644 --- a/vm/app/foot.nix +++ b/vm/app/foot.nix @@ -7,4 +7,5 @@ import ../../lib/call-package.nix ( callSpectrumPackage ../make-vm.nix {} { type = "nix"; run = lib.getExe foot; + runClosure = [ foot ]; }) (_: {}) -- 2.54.0