Commit Graph
87 Commits
Author SHA1 Message Date
gitops 06f974f09f Say how to take a newer default, since seeding will not
Seeding never overwrites, which is the right contract and also means an
upgrade that improves a shipped default never reaches anyone who already
has that file. Both machines this was tested on keep the old autostart
line that waits for awww in an unbounded loop, and nothing will ever
replace it for them.

That is a trade worth making and not one worth hiding, so document the
way out: diff against the skeleton, then copy if you want it.
2026-08-11 19:11:47 +07:00
gitops e006e95e55 Draw a wallpaper on a machine that has no theme yet
Seeding the config gets the bar and the keybindings up, and then leaves
you looking at a black screen, because the autostart line that sets the
wallpaper named ~/.local/share/wallpapers/hyprcosmic/current directly.
That is a symlink import-theme --assets maintains, so it does not exist
until a theme has been imported -- which on a machine that has just
installed the package it has not.

The same line waited for the daemon with an unbounded loop:

    until awww query >/dev/null 2>&1; do sleep 0.2; done

awww is a Recommends and lives in a COPR, so on a machine that never
enabled that repository nothing ever answered and the loop spun at 5 Hz
for the length of the session.

Both now live in hyprcosmic-wallpaper, which falls back to the
distribution's own images when there is no link yet, gives up on the
daemon after ten seconds, and exits 0 on every path so autostart is never
left supervising a process that cannot finish. Fedora recommends
cosmic-wallpapers so the fallback has something to find; nothing in the
dependency chain pulled it in before.

Verified against all five paths: no awww at all, a daemon that never
answers, a fresh machine with no link, a link pointing at a real file,
and a link left dangling by a deleted theme.
2026-08-11 18:25:24 +07:00
gitops 111f3ade7b Ship the per-user config, and recommend a font that exists
Two things anyone installing v0.1.0 would have hit.

The per-user files were listed in install-assets.sh as installed 'by
hand', which meant a clean machine logged in to a bare compositor with
nothing drawn on it and no binding that opened anything. They are now
installed as a skeleton under share/hyprcosmic/skel, laid out exactly as
they sit under ~/.config, and the session copies what is missing at
login. The audit still forces every file under config/ into exactly one
list, so this could not be quietly skipped again.

theme.css, theme.rasi and local.rasi are new and deliberately empty. They
are the relative @imports of style.css and config.rasi, and a missing
@import is fatal to both consumers rather than a warning they skip: GTK
fails the whole stylesheet, and rofi reports the error in place of the
launcher. Every colour they could define already has a default from
palette.css and palette.rasi, so empty is the correct content until
import-theme writes them. style.css's own header has promised 'a sibling
file we create at install time' since it was written; now there is one.

Recommends: nerd-fonts named a package that is in no Fedora repository,
so it could never be satisfied and the font never arrived -- silently,
which is what Recommends does when it cannot resolve. Fedora has no Nerd
Font at all: texlive-inconsolata-nerd-font lands under texmf-dist and
kitty's SymbolsNerdFont under /usr/lib64/kitty, and fontconfig scans
neither. Recommend font(notosansmono) instead, the fallback rules.rasi
already names, and say in the README how to install the glyphs by hand.
2026-08-11 18:15:44 +07:00
gitops 28042b9879 Install beside COSMIC instead of replacing it
The packages could not be installed. Claiming the cosmic-* names put 62 files
in conflict with 25 distribution packages -- something dnf's depsolve never
reports, because it shows up only in rpm's transaction check -- and the only
way to satisfy that was Conflicts against all 25, which erases cosmic-greeter.
On a stock Fedora COSMIC that is the display manager, so the machine comes
back to a text console with no way to log in and no session to fall back to.

So the fork ships what it actually forks. The three changed binaries take
hyprcosmic-comp, hyprcosmic-session and hyprcosmic-conf, the workflow reduces
the staged tree to those plus this fork's own assets, and cosmic-settings, the
portal, the OSD and the rest come from the distribution at the version it
tested them at. No Conflicts, no Provides, nothing erased, and the stock
COSMIC entry stays on the greeter's menu to fall back to.

Debian is the exception and keeps the whole desktop, because COSMIC is not
packaged there in any suite: there is nothing to depend on and nothing to
install beside. Its stock session entry is dropped instead, since start-cosmic
execs the cosmic-session this rename takes away.
2026-08-11 14:30:14 +07:00
gitops d2b091fa8b Build installable packages in CI, and replace COSMIC rather than sit beside it
Bumps both forks to the commits that install at upstream's paths, and adds
the packaging that follows from it.

packaging/ holds one definition per distribution -- an RPM spec, a PKGBUILD
and a Debian control template -- and each wraps a tree that `just install`
has already staged rather than compiling again inside the packaging tool.
Building 27 Rust components a second time to produce bytes that already
exist costs hours and creates a way for the packaged desktop and the built
one to drift apart.

One package per distribution, not one per component. Fedora splits COSMIC
into 27 packages, which is right for a distribution tracking upstream. This
is a fork that replaces the desktop as a unit: there is no supported
combination in which you take the HyprCosmic cosmic-comp and the
distribution's cosmic-session, and one package says so accurately.

All three declare a conflict with the distribution's cosmic-comp and
cosmic-session, and stop rather than resolve it. Obsoletes would let a
routine install quietly remove the desktop the machine is currently
running; removing COSMIC stays a decision a person makes.

.github/workflows/packages.yml builds all three, each inside a container of
the distribution it targets, because nothing here is statically linked and
a package built elsewhere records sonames the installing machine will not
have. It runs on tags and on demand rather than on every push -- three full
desktop builds is hours of runner time for artifacts nobody downloads --
and a tag opens a draft release, not a published one.

The RPM file list is generated from the staged tree, and claims a directory
only when no package already owns it. A naive list would have the package
own /usr, /usr/bin and /usr/share, which belong to `filesystem`.

README follows the same reframe: the install goes to /usr/bin, the package
route is documented first, and the conflict is explained where a reader
meets it rather than left to be discovered.
2026-08-10 18:22:02 +07:00
gitops 84a5eac79f Write the README for the fork, not for what it was forked from
The tree still carried cosmic-epoch's README, which describes how to install
COSMIC from a distribution's packages -- accurate, and about a different thing
than the repository it is now sitting in. Anyone arriving here needs to know
what changed, which two submodules are ours, how to build it, and what to do on
first login, and none of that was written down anywhere outside commit messages
and the comments in config/cosmic.conf.

Deliberately not a copy of upstream's. The dependency list, the packaging notes,
the per-distribution install instructions and the translation links are all
still correct and all still upstream's, so this links to them rather than
forking a second copy to go stale. What it says instead is the delta: the four
cosmic-comp patches, the session profile and what it stops starting, the
one-way config model, the theme import, the four per-user files `just install`
deliberately does not place, and what the two CI workflows each cover.

Two things in it are warnings rather than instructions, and are there because
leaving them out would make the document a nicer read and a worse one:

  - prefix must be /usr in practice, and the reason is that some files name
    /usr/share/hyprcosmic literally because they have no way to interpolate a
    prefix. Written as its own paragraph rather than a footnote.

  - `install` depends on `build`, so `sudo just install` compiles as root. That
    is upstream's arrangement, inherited rather than chosen, and says so.

Every command, path and claim in it was checked against the tree: the CLI help,
the profile's disabled list, the socket names, the power menu's five entries,
the Shortcuts merge, and the theme path HyDE's own generated config records.
2026-08-10 17:31:18 +07:00
Jeremy Soller a483257d31 Add cosmic-sound-theme 2026-07-21 10:24:24 -06:00
Jeremy Soller 0d128858ad Add cosmic-monitor 2026-06-23 08:36:37 -06:00
golden-spiralandGitHub 8722d5507c docs: update Gentoo install section 2026-01-14 17:46:16 +01:00
Jacob KauffmannandJacob Kauffmann da3cf5ee1e docs: Remove additional beta messaging from README 2025-12-15 16:21:09 -07:00
killertofusandGitHub 508b7fe8e6 docs: Add new copy from website to replace beta copy 2025-12-15 17:17:00 +01:00
Rerum02andJeremy Soller 3c128a6c52 Updated install instructions for nixos
Had link directly to the offical wiki, and replaced instructions for installation to match the wiki
2025-12-05 08:56:28 -07:00
Brad LohmeyerandJeremy Soller ce6bcdb54d docs: readme: fix apt packages 2025-12-05 08:56:10 -07:00
Brad LohmeyerandJeremy Soller 87391a426f docs: readme: reformat apt commands 2025-12-05 08:56:10 -07:00
221a9856f3 docs: Update README.md for Fedora (#1361)
* Update README.md for Fedora

Change cli instructions so that the user now uses the Fedora main repo.

Also changed where to find more info to the Cosmic SIG page.

* readd copr repo README.md

* Update Fedora installation instructions

---------

Co-authored-by: Jacob Kauffmann <[email protected]>
2025-11-25 14:04:02 -07:00
Jacob KauffmannandMichael Murphy d539f2b331 docs: Update README verbiage & add translation info 2025-10-05 23:36:43 +02:00
Carl RichellandGitHub 534c1c132f Update README.md for beta
Also added cosmic-initial-setup
2025-09-23 18:01:27 -06:00
Pratham PatelandJeremy Soller 9e13a3e47a readme: add install instructions for NixOS users 2025-05-18 10:32:28 -06:00
Harshit VijayandGitHub f55b95f67e Add cosmic-idle to README components list (#1770)
Added cosmic-idle component reference link
2025-04-04 16:53:20 -06:00
Jacob KauffmannandMichael Murphy 8e7e5bbc0b Update Pop!_OS testing info 2025-03-10 17:45:01 +01:00
Jeremy Soller 6581855fe0 Add cosmic-player 2025-01-09 10:43:58 -07:00
Hadi ChokrandGitHub 5b02d6db27 chore: add wiki entry to the Gentoo instructions 2024-12-16 22:57:14 +01:00
e3dd8940f2 Clarify GDM configuration changes
Signed-off-by: Tristan Andrus <[email protected]>
Co-authored-by: Tristan Andrus <[email protected]>
2024-08-30 03:30:53 +02:00
Rerum02andGitHub 076413d967 Add openSUSE Tumbleweed 2024-08-30 03:29:50 +02:00
Hadi ChokrandMichael Murphy d1958ed24c Add Gentoo Linux Install Instructions
Overlays in Gentoo are like the AUR on Arch since the package is currently only avaible on an Overlay repo i added the instructions if the packge gets mobed in to the offical gentoo repo, i will update the instructions.
2024-08-30 03:27:06 +02:00
Jacob Kauffmann 601f4e21c5 Update conjugation to match new sentence 2024-08-27 15:18:27 -06:00
killertofusandJacob Kauffmann 64afee56e4 fixed a grammar error 2024-08-27 15:18:27 -06:00
killertofusandJacob Kauffmann 9fa57ff542 fixed a error 2024-08-27 15:18:27 -06:00
killertofusandJacob Kauffmann 69ba4a56fa it's out of the aur 2024-08-27 15:18:27 -06:00
Jacob KauffmannandJeremy Soller 8ddb4bbe6a Update additional wording from pre-alpha to alpha 2024-08-13 10:01:21 -06:00
CraftandJeremy Soller ff1afea5aa Update README.md updating pre-alpha to alpha since Pop!_OS has released the alpha. 2024-08-13 10:01:21 -06:00
Hadi ChokrandVictoria Brekenfeld d10f83d47c Improve Arch section in README.md
Yay is more popular than paru so i added next to paru.
2024-07-15 12:28:31 +02:00
Mark WagieandGitHub 0afaeb59ea chore: update Arch installation instructions 2024-07-10 19:56:47 +02:00
Carl RichellandGitHub 734875633a Remove obsolete configuration info (all in Settings now) README.md 2024-06-05 08:21:52 -06:00
JPSxzy8andVictoria Brekenfeld 0127e485e8 README: Add missing build dependencies
Fixes https://github.com/pop-os/cosmic-epoch/issues/285
2024-05-27 12:20:37 +02:00
FizzifyandGitHub 39eafdaa0a chore(readme): improve grammar 2024-05-09 21:19:04 +02:00
Carl RichellandGitHub 417fb934a3 Update README.md 2024-05-08 16:29:45 -06:00
Michael MurphyandGitHub 7a45dce939 chore: add pop-launcher as component of cosmic desktop 2024-05-07 21:26:39 +02:00
Michael MurphyandGitHub 247cd5bc4b chore: remove more mentions of unusued gtk libraries 2024-05-07 21:25:37 +02:00
Michael MurphyandGitHub 5076d5f0bf chore: move selinux section to systemd-sysext section
Pop!_OS does not use SELinux, and it's not required of Fedora.
2024-05-07 21:24:01 +02:00
Michael MurphyandGitHub a0e1f4bf4b chore: remove libgtk as dependency, given that we do not use it 2024-05-07 21:22:01 +02:00
Carl RichellandGitHub 3da811ed87 Update README.md 2024-05-07 11:07:32 -06:00
Tuan Anh TranandJeremy Soller f6793a7ebd docs: update pop os installation instruction 2024-05-01 13:30:25 -06:00
AlexandJeremy Soller 4473999372 Update README.md
add Fedora COPR
2024-05-01 13:30:00 -06:00
AVOnyXandVictoria Brekenfeld bf15773902 Updated README.md 2024-04-02 15:56:01 +02:00
Mark TomlinandJeremy Soller cfadb5d499 Added libpam0g-dev
Needed for pam-sys crate in `cosmic-greeter`
2024-02-08 14:07:53 -07:00
wiiznokesandJeremy Soller 3e9b5db917 add cosmic-store 2024-01-23 06:46:47 -07:00
Ron Waldon-HoweandVictoria Brekenfeld b0255f594b doc: add links to cosmic-bg|greeter|icons 2024-01-23 13:39:50 +01:00
Ron Waldon-HoweandJeremy Soller 79c472c936 feat: add cosmic-files 2024-01-06 21:47:28 -07:00
Michael Aaron Murphy 4edc8417a4 feat: add cosmic-randr
To be used as a dependency for cosmic-settings
2023-12-22 19:19:24 +01:00