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 C2BAFA83; Fri, 10 Jul 2026 20:01:40 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id A9643A21; Fri, 10 Jul 2026 20:01:37 +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_MISSING,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fout-a2-smtp.messagingengine.com (fout-a2-smtp.messagingengine.com [103.168.172.145]) by atuin.qyliss.net (Postfix) with ESMTPS id AF623A1B for ; Fri, 10 Jul 2026 20:01:35 +0000 (UTC) Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfout.phl.internal (Postfix) with ESMTP id C6292EC01E9; Fri, 10 Jul 2026 16:01:33 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Fri, 10 Jul 2026 16:01:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:message-id:mime-version:reply-to :subject:subject:to:to; s=fm1; t=1783713693; x=1783800093; bh=N7 CP31v9sYy4v27kl1c6bd+dIuHxPofwBWt498141tk=; b=RZmEycKULPBwBTWbEQ 5vKsv0ECxB1liqSBqsi9YuLmg9WxQeGZ3Z+it1pF6kSPbQck7JFsYXNuqoj7Flx6 ppbEObj5KF3giQviFUOQZbs9cv2ZVvdoV1a+t1+GiojgOs0qUIsAMltO3gpxYx0q IKI2DsScfjvjkmobknVAPMzdaQSVBBXWUxX+O5ESWcfB4Sj64CqsztPH8oJz0fZe AizGIC9JfD2hM77LWcsZP3V96GouxUFYw7dh/Wov/z1sNjqXZn9eDZ+B22DFfKJQ qvWvNF+EKSmFY+iCOQkR3NuEaUF0sAylJ+kOA18zdvxxKti0JQicv1ovPGKi6TvI 4BuA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1783713693; x=1783800093; bh=N7CP31v9sYy4v27kl1c6bd+dIuHx PofwBWt498141tk=; b=d+qYHMmT7JG+fzqOsoNo+4K9StTZ+vwSOGxicrYBIEuy BW/DeEoF8BKM/tWttQnWDBtha48sMcVuzMp2ITisfaYDzj5+wQ6vk0RDj9aZFU9o 3Sha82lO/iikH6tYGN6m664U8DSDgjlM729owqKK4aKgIAjX/7zBpbo+FGhyJwlg 5fHb5WYoTEF1xDF6N+kOZ17XF55OGOdMIA6OKjsR0x18m6SvzE9a+I4ZOuNdUOis CXzUtx60i+dwBFOWUpXRo6DrAl5WXdyvBRA6hhevys0q2SOyfv127r1q927ix+lA o4yQ+o7p6Jzi3DevOI2/YWShb69SPc8BoVZUXRrzlw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTEEYTs/lBDH8cyjQbeTV33urNYJRX/O4JQHmwMu/dPYVr/ovNSfhDD8DbRAJFZN/Q FOL2DryJkFHYoIVqF6go8TfwXYFJp8lnR8mzvjpGUeVCtEcgJlqHr2DZm5Op8RaoHj57xX xkRsqcqMp/YzVZyPybyaikgXMNm/0Po+gvNZ6J8/PZ4WmMbpTlAMeu9fSZWMLl/ofb0qY0 7Uqx6JS5HxNtbA47N7zGA5TKATs1L7ZX7Ai6R+7INRHnbR9j3ghSI1hRCtUj/JseI8gYh6 IhVF1oMfRmDuf05oBQomY4xhY7XktBIQTAyaDtXAX1/a4Yyr7S8AMd1FmeVXC3QXrYZbYk Nr4KE/VQULq7/8SkR76Mc0FQFBq0Vwp8MrHZR3wpVWFMQMImVzXL2SVMECwhrZAvUGThgj L4eBPHrXI4nlhfnY4fOGwiPFouTwKuXOniR1vf2k6ql2QhDjJfsxFjIpNPFn/caB+mmqdh IkO4os9mH3WKWk2orQE5GeulR7Lcfa5sk//sSgs1mpIR+2ajaGLISjERLlwqx+yQHX+gSM ffy34Nl/JpKdwVs94I1B5zZsKLL9XoMfepwbcNCAWhQ5ywS9y36JMq6BZ7fo5DuDCvqzIQ TZBYyZSzRONoOKpcRRVKM4eayUwzUnyZml19n7ohj+A8Kxw8r+pVBKhrKziw X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 10 Jul 2026 16:01:33 -0400 (EDT) Received: by fw12.qyliss.net (Postfix, from userid 1000) id D67FBC3E83C4; Fri, 10 Jul 2026 22:01:30 +0200 (CEST) From: Alyssa Ross To: devel@spectrum-os.org Subject: [RFC PATCH 0/6] host/rootfs: switch from Weston to cosmic-comp Date: Fri, 10 Jul 2026 21:59:01 +0200 Message-ID: <20260710195907.98981-1-hi@alyssa.is> X-Mailer: git-send-email 2.54.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-ID-Hash: Q6S3RSWEUKTNWRQ5BXWIYTJWZ3TBATXT X-Message-ID-Hash: Q6S3RSWEUKTNWRQ5BXWIYTJWZ3TBATXT X-MailFrom: hi@alyssa.is 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: Since there's been recent demand for it, before the weekend I wanted to post my work on switching to COSMIC. It's not ready yet, but I'm happy with the shape it's taking. It needs to be applied on top of the draft Nixpkgs update I posted the other day, and it requires some patches that have only just begun to make their way upstream. (There's some sequencing required here: adding functionality to cosmic-comp requires adding functionality to Smithay requires adding functionality to wayland-rs. My initial wayland-rs PR has been merged, so now we wait for a release and then we can make the Smithay one.) There might be more upstream work to come as well — I'd like Nixpkgs' libcosmicAppHook to be fixed not to clobber the XDG_DATA_DIRS default if it's unset, and the socket ownership for cosmic-comp (inherited from Weston) could be improved if it could be properly socket activated, which will need further work on wayland-rs and Smithay as well. That requires some API design that's still processing in the back of my mind. Nevertheless it's ready to try out and give feedback on. It's intentionally bare bones — we can add more parts of COSMIC later as required. Alyssa Ross (6): pkgs: s6: fix s6-notify-fd-from-socket pkgs: cosmic-comp: support custom socket path Revert "host/rootfs/Makefile: don't pass -display to QEMU" Revert "host/rootfs: Makefile: don't use QEMU with GL" host/rootfs: make run: use virgl virtio-gpu host/rootfs: switch from Weston to cosmic-comp host/rootfs/Makefile | 7 +- host/rootfs/default.nix | 37 +- host/rootfs/file-list.mk | 43 +- .../etc/s6-linux-init/env/XDG_RUNTIME_DIR | 1 - .../s6-linux-init/env/XDG_RUNTIME_DIR.license | 2 - .../run-image/service/root-terminal/run | 2 +- .../dependencies.d/systemd-udevd-coldplug | 0 .../{weston => cosmic-comp}/notification-fd | 0 .../notification-fd.license | 0 .../etc/s6-rc/{weston => cosmic-comp}/run | 26 +- .../etc/s6-rc/{weston => cosmic-comp}/type | 0 .../{weston => cosmic-comp}/type.license | 0 .../dependencies.d/cosmic-comp} | 0 host/rootfs/image/etc/s6-rc/cosmic-panel/run | 12 + .../etc/s6-rc/{weston => cosmic-panel}/type | 0 .../image/etc/s6-rc/cosmic-panel/type.license | 2 + .../weston => ok-all/contents.d/cosmic-panel} | 0 .../vm-env/contents.d/{weston => cosmic-comp} | 0 .../com.system76.CosmicAppList/v1/favorites | 7 + .../com.system76.CosmicPanel.Dock/v1/anchor | 4 + .../com.system76.CosmicPanel.Dock/v1/autohide | 9 + .../v1/border_radius | 4 + .../v1/exclusive_zone | 4 + .../v1/expand_to_edges | 4 + .../v1/keyboard_interactivity | 4 + .../com.system76.CosmicPanel.Dock/v1/margin | 4 + .../com.system76.CosmicPanel.Dock/v1/name | 4 + .../com.system76.CosmicPanel.Dock/v1/opacity | 4 + .../v1/plugins_center | 6 + .../com.system76.CosmicPanel.Dock/v1/size | 4 + .../v1/autohide | 4 + .../v1/border_radius | 4 + .../v1/keyboard_interactivity | 4 + .../com.system76.CosmicPanel.Panel/v1/margin | 4 + .../com.system76.CosmicPanel.Panel/v1/name | 4 + .../com.system76.CosmicPanel.Panel/v1/opacity | 4 + .../com.system76.CosmicPanel.Panel/v1/padding | 4 + .../v1/plugins_center | 6 + .../v1/plugins_wings | 9 + .../com.system76.CosmicPanel.Panel/v1/size | 4 + .../com.system76.CosmicPanel/v1/entries | 7 + host/rootfs/image/etc/xdg/weston/autolaunch | 7 - host/rootfs/image/etc/xdg/weston/weston.ini | 15 - .../org.spectrum_os.RootTerminal.desktop | 9 + pkgs/cosmic-comp/default.nix | 15 + pkgs/cosmic-comp/socket-path.patch | 462 ++++++++++++++++++ pkgs/overlay.nix | 4 + pkgs/skaware-packages/default.nix | 16 + 48 files changed, 698 insertions(+), 74 deletions(-) delete mode 100644 host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR delete mode 100644 host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/dependencies.d/systemd-udevd-coldplug (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/notification-fd (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/notification-fd.license (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/run (77%) copy host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/type (100%) rename host/rootfs/image/etc/s6-rc/{weston => cosmic-comp}/type.license (100%) copy host/rootfs/image/etc/s6-rc/{vm-env/contents.d/weston => cosmic-panel/dependencies.d/cosmic-comp} (100%) create mode 100644 host/rootfs/image/etc/s6-rc/cosmic-panel/run rename host/rootfs/image/etc/s6-rc/{weston => cosmic-panel}/type (100%) create mode 100644 host/rootfs/image/etc/s6-rc/cosmic-panel/type.license copy host/rootfs/image/etc/s6-rc/{vm-env/contents.d/weston => ok-all/contents.d/cosmic-panel} (100%) rename host/rootfs/image/etc/s6-rc/vm-env/contents.d/{weston => cosmic-comp} (100%) create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicAppList/v1/favorites create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/anchor create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/autohide create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/border_radius create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/exclusive_zone create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/expand_to_edges create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/keyboard_interactivity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/margin create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/name create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/opacity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/plugins_center create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Dock/v1/size create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/autohide create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/border_radius create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/keyboard_interactivity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/margin create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/name create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/opacity create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/padding create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_center create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/plugins_wings create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel.Panel/v1/size create mode 100644 host/rootfs/image/etc/xdg/cosmic/com.system76.CosmicPanel/v1/entries delete mode 100755 host/rootfs/image/etc/xdg/weston/autolaunch delete mode 100644 host/rootfs/image/etc/xdg/weston/weston.ini create mode 100644 host/rootfs/image/usr/share/applications/org.spectrum_os.RootTerminal.desktop create mode 100644 pkgs/cosmic-comp/default.nix create mode 100644 pkgs/cosmic-comp/socket-path.patch create mode 100644 pkgs/skaware-packages/default.nix base-commit: 89f8c9238616b43e48b21e2eade41e061b006cd8 prerequisite-patch-id: 8662e049f860b035ba9aceb3ee6b3f35c891c09c prerequisite-patch-id: a26d347af3f41c48656b017f32079007d4560e66 prerequisite-patch-id: 532076a6433252cd07ba904cd17ade53ce3c8c81 -- 2.54.0