https://github.com/jfreed-dev/cosmic-order
OMARCHY-inspired workflow and aesthetics for COSMIC Desktop. Built with libcosmic.
https://github.com/jfreed-dev/cosmic-order
cosmic-desktop desktop-customization keyboard-first libcosmic linux omarchy pop-os ricing rust screensaver system76 theming wallpaper
Last synced: 3 days ago
JSON representation
OMARCHY-inspired workflow and aesthetics for COSMIC Desktop. Built with libcosmic.
- Host: GitHub
- URL: https://github.com/jfreed-dev/cosmic-order
- Owner: jfreed-dev
- License: gpl-3.0
- Created: 2026-01-24T20:04:40.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-05-22T16:23:02.000Z (12 days ago)
- Last Synced: 2026-05-22T17:32:22.504Z (12 days ago)
- Topics: cosmic-desktop, desktop-customization, keyboard-first, libcosmic, linux, omarchy, pop-os, ricing, rust, screensaver, system76, theming, wallpaper
- Language: Rust
- Homepage:
- Size: 426 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Roadmap: docs/ROADMAP.md
Awesome Lists containing this project
README
# COSMIC ORDER
[](LICENSE)
[](https://github.com/jfreed-dev/cosmic-order/releases)
[](https://github.com/jfreed-dev/cosmic-order/actions/workflows/ci.yml)
OMARCHY-inspired workflow and aesthetics for COSMIC Desktop.
Built with [libcosmic](https://github.com/pop-os/libcosmic).

> The terminal screensaver — the COSMIC mark revealed by one of
> TerminalTextEffects' beam effects on a blue→purple gradient.
## Features
- **Theme Management** — Browse, preview, and create COSMIC themes with a
4-step creation wizard. 36 bundled themes (dark and light).
- **Tool Theme Sync** — Propagate COSMIC colors to Ghostty, btop, Neovim,
Zellij, fzf, lazygit, and custom hooks. Auto-sync on theme change.
- **Screensaver** — Terminal-based screensaver with ASCII art effects,
session lock, idle/DPMS timeout integration, and power-aware profiles.
- **Panel Applet** — A COSMIC panel button with a popup for quick screensaver
control: lock now, start the screensaver, an enable/disable toggle, and open
settings.
- **CLI** — Scriptable commands for theme switching, color extraction,
tool sync, hooks, and wallpaper management.
- **Power Management** — Battery-aware screensaver effect profiles via UPower
D-Bus / system76-power (Full/Standard/Simple/Minimal/Skip tiers). Idle
inhibition ("caffeine") isn't bundled — use `systemd-inhibit` or an applet.
## Dependencies
### Build
```bash
# Pop!_OS / Ubuntu
sudo apt install cargo cmake just libexpat1-dev libfontconfig-dev \
libfreetype-dev libxkbcommon-dev pkg-config
```
Rust 1.90+ required.
### Runtime
The app itself only needs its shared libraries (pulled in automatically by the
`.deb`). The **terminal screensaver** additionally uses:
| Tool | Purpose | Install |
|---|---|---|
| `alacritty` | default screensaver terminal (renders fullscreen) | `sudo apt install alacritty` |
| `terminaltexteffects` (`tte`) | the text-effect animations | `pipx install terminaltexteffects` (not packaged) |
| `swayidle` | idle detection that starts the screensaver | `sudo apt install swayidle` |
| `figlet` | *optional* — clock between effects | `sudo apt install figlet` |
| `ydotool` | *optional* — hides the mouse pointer | `sudo apt install ydotool` |
The `.deb` lists `alacritty`/`swayidle` under **Recommends** and
`figlet`/`ydotool` under **Suggests**; `tte` must be installed manually since it
isn't in the Debian/Ubuntu archive.
### Tool-sync targets (optional)
COSMIC ORDER writes your COSMIC theme into these tools' configs **when they are
installed** — install only the ones you use:
| Tool | Where to get it |
|---|---|
| Ghostty | |
| btop | `sudo apt install btop` |
| Neovim | `sudo apt install neovim` |
| fzf | `sudo apt install fzf` |
| Zellij | (release binary) |
| lazygit | (release binary) |
## Build
```bash
just # build release
just run # run with info logging
just check # clippy pedantic
just test # run tests
just pre-commit # fmt + clippy + tests
```
## CLI Usage
```bash
cosmic-order sync # Sync colors to all enabled tools
cosmic-order colors --json # Extract palette as JSON
cosmic-order theme dark # Switch to dark mode
cosmic-order theme set-accent '#FF5733'
cosmic-order theme export theme.ron # Export current theme
cosmic-order hooks run # Run custom hooks
cosmic-order wallpaper add # Download a wallpaper
```

## Install (.deb)
Download the latest `.deb` from the
[Releases page](https://github.com/jfreed-dev/cosmic-order/releases) and install
it:
```bash
sudo dpkg -i cosmic-order_*_amd64.deb
```
Or build it from source:
```bash
# Build the .deb package
dpkg-buildpackage -us -uc -b
# Install the resulting package
sudo dpkg -i ../cosmic-order_*.deb
```
Building requires `debhelper`, `just (>= 1.13.0)`, and `rust-all`.
## Known Upstream Bugs
See [docs/UPSTREAM-BUGS.md](docs/UPSTREAM-BUGS.md) for known fullscreen-related
bugs in upstream dependencies and workarounds.
## Acknowledgments
COSMIC ORDER draws inspiration from [OMARCHY](https://omarchy.com) by DHH.
The curated workflow, application choices, and keyboard-first philosophy
informed this project's design.
Built on [COSMIC Desktop](https://system76.com/cosmic) by System76, using
[libcosmic](https://github.com/pop-os/libcosmic) (MPL-2.0).
Bundled theme color schemes are derived from open-source projects under MIT
or compatible permissive licenses:
- [Tokyo Night](https://github.com/folke/tokyonight.nvim) by folke
- [Catppuccin](https://github.com/catppuccin/catppuccin) by the Catppuccin organization
- [Gruvbox](https://github.com/morhetz/gruvbox) by morhetz
- [Nord](https://www.nordtheme.com/) by Arctic Ice Studio
- [Rose Pine](https://rosepinetheme.com/) by the Rose Pine team
## Trademarks
COSMIC ORDER is **independent third-party software** and is **not
affiliated with or endorsed by System76**. "COSMIC" is a trademark of
System76, Inc.; the project name and the bundled `cosmic-*` ASCII
logos in `resources/screensaver/logos/` reference that mark to
identify the desktop environment this software extends. Trademarked
ASCII logos for unrelated brands (Framework, Pop!_OS) were removed in
v0.15.0; see [docs/LICENSING.md](docs/LICENSING.md) for the audit
trail.
If you are System76 and would like the project name, bundled logos,
or any of the integration language adjusted, please open an issue.
## License
Copyright © 2025-2026 Jonathan Freed
This project is licensed under the **GNU General Public License v3.0 only**
(GPL-3.0-only). See [LICENSE](LICENSE) for the full license text.
By submitting a pull request, you agree to license your contribution under
GPL-3.0-only.