{"id":50100183,"url":"https://github.com/matrixdj96/bazzite-mx","last_synced_at":"2026-06-06T16:01:08.234Z","repository":{"id":357905920,"uuid":"1237804509","full_name":"MatrixDJ96/bazzite-mx","owner":"MatrixDJ96","description":"Personal Bazzite-based bootc atomic distribution. KDE Plasma + container-first dev/sysadmin workstation, with curated DX tools, hardened repo isolation, and zero-maintenance third-party integrations.","archived":false,"fork":false,"pushed_at":"2026-06-04T02:16:25.000Z","size":125,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-04T04:22:40.359Z","etag":null,"topics":["atomic","bazzite","bootc","dotfiles","kde-plasma","linux"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatrixDJ96.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-13T14:22:25.000Z","updated_at":"2026-06-02T15:53:07.000Z","dependencies_parsed_at":"2026-06-02T00:00:27.914Z","dependency_job_id":null,"html_url":"https://github.com/MatrixDJ96/bazzite-mx","commit_stats":null,"previous_names":["matrixdj96/bazzite-mx"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/MatrixDJ96/bazzite-mx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixDJ96%2Fbazzite-mx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixDJ96%2Fbazzite-mx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixDJ96%2Fbazzite-mx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixDJ96%2Fbazzite-mx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatrixDJ96","download_url":"https://codeload.github.com/MatrixDJ96/bazzite-mx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatrixDJ96%2Fbazzite-mx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33988667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atomic","bazzite","bootc","dotfiles","kde-plasma","linux"],"created_at":"2026-05-23T07:08:22.914Z","updated_at":"2026-06-06T16:01:08.011Z","avatar_url":"https://github.com/MatrixDJ96.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bazzite-mx\n\nPersonal Bazzite-based bootc atomic distribution. KDE Plasma + container-first dev/sysadmin workstation.\n\n## What is bazzite-mx?\n\nbazzite-mx is a personal fork of [Universal Blue Bazzite](https://github.com/ublue-os/bazzite). It is a **single-maintainer project**, not a community distribution.\n\nThis repository builds and publishes three GHCR images that differ only in `BASE_IMAGE`:\n\n| Image | Base | Use case |\n|-------|------|----------|\n| `ghcr.io/matrixdj96/bazzite-mx` | `ghcr.io/ublue-os/bazzite` | non-NVIDIA hardware |\n| `ghcr.io/matrixdj96/bazzite-mx-nvidia` | `ghcr.io/ublue-os/bazzite-nvidia` | NVIDIA proprietary driver |\n| `ghcr.io/matrixdj96/bazzite-mx-nvidia-open` | `ghcr.io/ublue-os/bazzite-nvidia-open` | NVIDIA open kernel modules |\n\nEach variant is published with two stream tags: `:stable` and `:testing`.\n\n## What's added on top of Bazzite\n\n| Domain | What | Why |\n|---|---|---|\n| **Container runtime** | Docker CE + extras (compose, machine, tui, bootc) + sockets | full Docker workflow alongside Bazzite's existing Podman; isolated upstream Docker repo (`docker-ce.repo` vendored, `enabled=0`) |\n| **Virtualization** | libvirt, qemu, virt-manager, swtpm, waypipe + `libvirtd.service` enabled at build + KVM kargs (`kvm.ignore_msrs=1`, `kvm.report_ignored_msrs=0`) shipped via `bootc/kargs.d` + flatpak virt-manager masked | Windows 11 VM compat (TPM 2.0 via swtpm) + remote-display Wayland forwarding; the stack is fully working on first boot without `ujust setup-virtualization` (which is also overridden to remove an upstream gate that silently no-ops on RPM-installed virt-manager) |\n| **IDE / Dev** | VSCode (`update.mode=none`) + GitKraken + `git-credential-libsecret` | atomic-correct settings (auto-update fights `/usr` read-only); keyring-backed git auth; minimalism (no opinionated font/theme/formatter overrides) |\n| **Dev / Sysadmin CLI** | `bcc-tools` + `bpftrace` + `bpftop` + `sysprof` + `iotop-c` + `nicstat` + `numactl` + `trace-cmd` + `flatpak-builder` + `gh` (upstream vendored repo) + `cosign` (already in Bazzite base) | observability + container build + GitHub workflow |\n| **Web / browsers** | Firefox via Mozilla RPM repo (replaces Flatpak Firefox) + Bazzite's flatpak default-install adjusted to skip Firefox | RPM Firefox supports system fonts, system policies, native messaging; Flatpak doesn't |\n| **System integration** | first-boot system-setup hooks (groups, flatpak Firefox cleanup, virt-manager flatpak cleanup) + first-login user-setup hooks (flatpak Firefox cleanup, virt-manager flatpak cleanup) — all versioned via `libsetup.sh` | bridges the `/etc/skel` doesn't-reach-existing-users gotcha; same hooks framework as Bazzite-DX |\n| **ujust opt-in recipes** | `ujust install-discord` (RPM Fusion non-free) + `ujust install-1password` (vendored official repo) + `ujust reset-repos` (restore DNF repo config to image defaults) + `_pkg_layered` reusable helper | rpm-ostree layered installs with idempotency check; opt-in keeps metadata footprint small for users who don't want them. `reset-repos` mirrors the factory `/usr/etc/` repo files back onto `/etc/` (preview + confirm) to undo runtime drift |\n| **Desktop apps** | gparted (restores Bazzite-removed `kde-partitionmanager` functionality) + ptyxis (2nd container-aware terminal) + VSCode extensions auto-installed at first login (3 Microsoft container/remote extensions, hardened against libsetup race) | GUI partition tool back; Ptyxis as opt-in alongside Konsole, no replacement of the default; same 3 extensions Aurora-DX and Bazzite-DX both converged on |\n| **Game streaming** | Sunshine (system RPM from `lizardbyte/stable` COPR) + `setcap cap_sys_admin+p` for KMS capture; user service shipped DISABLED, opt-in via `ujust setup-sunshine enable` | System RPM from the same COPR Aurora uses (current F44 builds), layered at build time — avoids the per-machine brew compile of Bazzite's `setup-sunshine`. Updates flow with `bootc upgrade`. |\n\n## Build\n\n```bash\npodman build --file Containerfile \\\n  --build-arg BASE_IMAGE=bazzite \\\n  --build-arg BASE_TAG=$(skopeo inspect --no-tags \\\n      docker://ghcr.io/ublue-os/bazzite:stable \\\n      | jq -r '.Labels[\"org.opencontainers.image.version\"]') \\\n  --build-arg IMAGE_NAME=bazzite-mx \\\n  --tag localhost/bazzite-mx:preflight .\n```\n\nCI runs on every push to `main` and re-runs hourly via the upstream-watcher workflow whenever upstream Bazzite publishes a new release.\n\n## Image signing\n\nEach pushed image is signed by digest with cosign using `SIGNING_SECRET`. Verify a deployed image:\n\n```bash\ncosign verify --key cosign.pub ghcr.io/matrixdj96/bazzite-mx:latest\n```\n\nThe local `cosign.key` is gitignored — it lives only on the maintainer's machine and in the GitHub repo secret.\n\n## License\n\nSee [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrixdj96%2Fbazzite-mx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatrixdj96%2Fbazzite-mx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatrixdj96%2Fbazzite-mx/lists"}