From: Alyssa Ross <hi@alyssa.is>
To: devel@spectrum-os.org
Cc: colbyt <colby@colbyt.com>
Subject: [RFC PATCH 0/6] host/rootfs: switch from Weston to cosmic-comp
Date: Fri, 10 Jul 2026 21:59:01 +0200 [thread overview]
Message-ID: <20260710195907.98981-1-hi@alyssa.is> (raw)
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
next reply other threads:[~2026-07-10 20:01 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-10 19:59 Alyssa Ross [this message]
2026-07-10 19:59 ` [RFC PATCH 1/6] pkgs: s6: fix s6-notify-fd-from-socket Alyssa Ross
2026-07-10 19:59 ` [RFC PATCH 2/6] pkgs: cosmic-comp: support custom socket path Alyssa Ross
2026-07-10 19:59 ` [RFC PATCH 3/6] Revert "host/rootfs/Makefile: don't pass -display to QEMU" Alyssa Ross
2026-07-10 19:59 ` [RFC PATCH 4/6] Revert "host/rootfs: Makefile: don't use QEMU with GL" Alyssa Ross
2026-07-10 20:49 ` Demi Marie Obenour
2026-07-12 18:05 ` Alyssa Ross
2026-07-13 17:02 ` Demi Marie Obenour
2026-07-10 19:59 ` [RFC PATCH 5/6] host/rootfs: make run: use virgl virtio-gpu Alyssa Ross
2026-07-10 19:59 ` [RFC PATCH 6/6] host/rootfs: switch from Weston to cosmic-comp Alyssa Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260710195907.98981-1-hi@alyssa.is \
--to=hi@alyssa.is \
--cc=colby@colbyt.com \
--cc=devel@spectrum-os.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://spectrum-os.org/git/doc
https://spectrum-os.org/git/mktuntap
https://spectrum-os.org/git/spectrum
https://spectrum-os.org/git/ucspi-vsock
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).