Commit Graph
10 Commits
Author SHA1 Message Date
gitops c0ae1350f3 Merge pop-os/cosmic-epoch: become the meta-repo, with two submodules swapped
HyprCosmic started as a repository beside COSMIC holding a config compiler and a
pile of theme assets, with the two modified components hanging off it. That had
the relationship backwards. COSMIC already has a meta-repo whose whole job is to
name every component and build the desktop from them, so the honest shape for a
fork is to be that meta-repo with the components we changed pointing at our
copies -- not a separate tree that assumes the rest of COSMIC arrived some other
way.

So this merges cosmic-epoch in and repoints exactly two of its 29 submodules:

    cosmic-comp     -> outbackdingo/hyprcosmic-comp
    cosmic-session  -> outbackdingo/hyprcosmic-session

The other 27 stay on pop-os. Nothing about them needs to change, and pinning
them to copies we do not maintain would be a promise to keep 27 forks current.

`just build` and `just install` now build and install the whole desktop with our
compositor and session in it, which is what "fork COSMIC" ought to mean. The two
forks still install into /usr/libexec/hyprcosmic rather than over /usr/bin, so a
system that already has COSMIC from its distribution keeps that session on the
greeter's menu alongside this one.

Conflict resolutions worth stating:

  .github/workflows/ci.yml   upstream's kept as-is. It builds the entire desktop
                             on Arch through `just sysext`, which is precisely
                             the check a meta-repo wants and is not made less
                             useful by forking. Our per-distribution workflow
                             moved to hyprcosmic.yml beside it, the same way it
                             did in the compositor fork.

  .gitmodules                upstream's 29 entries, then two URLs rewritten.

  cosmic-comp, cosmic-session
                             ours. Git reports "no merge base" because they are
                             unrelated to the pop-os commits recorded here,
                             which is expected: they are different repositories,
                             not newer commits of the same one.

  .gitignore                 both sides, plus a note that the two forks are
                             deliberately no longer ignored.
2026-08-10 17:22:10 +07:00
gitops 3c1a092e51 ci: build cosmic-conf per distro, and check the assets against their generators
Two jobs, shaped differently on purpose.

cosmic-conf gets the same three-distribution container matrix the forks use,
plus one check the unit tests cannot make: it resolves the cosmic.conf this
repository actually ships. A schema change that invalidated the shipped config
would pass all 143 tests in the crate and still break every user on their first
login. The binary is invoked directly rather than through `cargo run`, because
the step redirects HOME and cargo keys its registry cache on it -- `cargo run`
would re-download every dependency into a directory the cache action does not
know about.

The assets job is where the rules that were previously only remembered become
enforced. config.jsonc is regenerated and must not move, which is what stops it
being hand-edited; the template and the generator are held to pure ASCII, which
is what stops a Nerd Font glyph being pasted somewhere it will be silently
destroyed by the next person who retypes it. install-assets.sh is then run into
a staging root and asked to verify its own work, which also exercises the audit
that refuses to install at all while any file under config/ is unclassified.

The ASCII check is written as an `if` rather than `! grep`, because grep exits 1
for "no match" and 2 for "no such file" -- negating it would turn a vanished
file into a pass, and the check would quietly stop checking anything.
2026-08-10 16:53:49 +07:00
Vukašin VojinovićandMichael Murphy 7106172bcd chore: update CI 2026-01-14 17:43:39 +01:00
Victoria BrekenfeldandVictoria Brekenfeld 8dec6bd48e ci: Add nasm 2024-02-15 16:21:59 +01:00
Victoria BrekenfeldandVictoria Brekenfeld d1db7c4b7d ci: recurse submodules and add libflatpak 2024-01-31 17:12:06 +01:00
Ron Waldon-HoweandVictoria Brekenfeld cd8dc9d887 chore(ci): cosmic-edit needs gtk3 2023-12-20 14:20:25 +01:00
Ron Waldon-HoweandVictoria Brekenfeld 7ecd86ce28 chore(ci): add missing at-spi2-core package 2023-12-20 14:20:25 +01:00
Victoria Brekenfeld 46fc0bf34d ci: free space for building 2023-08-10 18:38:09 +02:00
75cb3ab49d feat: Add COSMIC Settings (#75)
* feat: Add COSMIC Settings

This add cosmic-settings to the .gitmodules file

* Update justfile per feedback

* Correct cosmic-launcher to cosmic-settings

* fix(settings): build

---------

Co-authored-by: Ashley Wulber <[email protected]>
2023-02-20 11:24:10 -05:00
Ian Douglas Scott 326a80995d Add CI that verifies the repository builds
This runs on Arch, and shows that things build on another distro with
recent dependencies. If we want to support older versions of
dependencies, that will need to be tested on a different platform.

This also shows what dependencies are needed.
2023-02-14 08:59:13 -08:00