Skip to content

phantomcortex/DistinctionOS

Repository files navigation

DistinctionOS

A curated, immutable desktop for gamers and creators — built on Bazzite.

Built on Bazzite Fedora Atomic License Build


DistinctionOS is an opinionated layer on top of Bazzite — a Fedora Atomic gaming desktop. It ships original system tooling, GNOME Shell extensions, and a curated application set so you have a complete, ready-to-use system with nothing left to hunt down.

Images are built every 5 days, signed with Cosign, and pushed to GHCR.

Installation

sudo bootc switch ghcr.io/phantomcortex/distinctionos:latest

After rebooting, run post-install setup:

ujust distinction-install

This installs Flatpaks, Homebrew packages, ZSH, and NvChad in a single command.

Features

Component Description
Glycin BC7 Patch DDS texture thumbnails for BC4/5/6H/BC7 formats not covered by upstream
GStreamer XWM Plugin Native GStreamer codec for transparent .xwm and .fuz playback in any GStreamer-backed player
Steam Linker Systemd service unifying all Steam library locations under ~/Games/Steamlibrary/
ZSH System-Wide Oh My Zsh + Powerlevel10k configured at the system level
GNOME Extensions Pre-installed: Dash to Dock, Burn My Windows, TopHat, and more
Brave Browser Ships as the default browser
Cider Premium Apple Music client (license required)
CrossOver Commercial Wine implementation for Windows applications
Rechunker Efficient layer compression for faster, smaller OTA updates
Cosign Signing Every image signed and verifiable with the included public key

What Makes It Different

Glycin — BC7 DDS Patch

Stock Fedora glycin-* packages are replaced with phantomcortex/glycin release RPMs (v2.1.1-bc7fix1). Adds BC4, BC5, BC6H, and BC7 DDS compression support to glycin-image-rs, enabling thumbnail generation in Nautilus for compressed game textures. Upstream glycin ships BC1/BC2/BC3 only. The release version sorts above Fedora's 1.fc44 for a clean upgrade.

Steam Linker

A systemd user service that parses Steam's libraryfolders.vdf and maintains a symlink tree under ~/Games/Steamlibrary/ covering all detected library paths. State-tracked in JSON for restoration after deletion. Exclusion patterns filter Proton runtimes, GE-Proton, and SteamLinuxRuntime by default.

ujust steam-link-enable    # Run at login
ujust steam-link           # Run now
ujust steam-link-status    # Current state

See docs/steam-linker.md.

GStreamer XWM Plugin

gstreamer-plugin-xwm registers native GStreamer elements for Bethesda's .xwm (xWMA) and .fuz (xWMA wrapped in a lip-sync container) formats. Any GStreamer-backed audio player — Decibels, Rhythmbox, Amberol, etc. — picks up the formats automatically through normal codec discovery. The FUZ demuxer strips the lip-sync header before handing the embedded xWMA stream to the decoder.

Post-Install Recipes

ujust distinction-install              # Full setup
ujust distinction-install-flatpaks     # Flatpaks only
ujust distinction-install-brews        # Homebrew packages only
ujust distinction-install-custom-shell # ZSH + dotfiles
ujust distinction-install-nvchad       # NvChad for user and root
ujust steam-link-enable                # Steam Linker at login

See docs/ujust-recipes.md.

Verification

cosign verify --key cosign.pub ghcr.io/phantomcortex/distinctionos:latest

Documentation

Document Contents
Developer Guide Build architecture, script reference, contributing
ujust Recipes All ujust commands and their purpose
Steam Linker Game library symlink manager

Acknowledgements


Built by phantomcortex

About

My own custom OS with UniversalBlue's spices and my own unholy modifications.

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Generated from ublue-os/image-template