Stained Glass OS

Package repository: size, hosting, and what blocks publishing

Live since 2026-09-23: https://stained-glass-os.github.io/apt, published by sg-image's make publish (signed with key 397C 84B2 1F74 F300 CD55 660E 02F2 3791 65C3 F0FB, kept in ~/.sgkeys on the build machine). The image trusts it. Still to do: package the D3D, PowerShell, Python and Mono/Gecko payloads as .debs so they update through it too, and give packages versions that rise with each build.

Backlog items F1/F2 (vision-backlog.md). David's question: host the .deb repository on GitHub Pages if our packages fit, otherwise a VPS. Measured 2026-09-22.

What a release weighs

Package Size Notes
wine-sg 55.6 MB Both architectures, stripped (1.5 GB unstripped)
sg-session 0.25 MB Scripts, greeter, lock service
sg-shell 0.06 MB Start menu, theme defaults
sg-compositor 0.02 MB
DXVK + VKD3D-Proton 22 MB Staged into the image today; not yet a .deb
PowerShell 7.6.6 101 MB Upstream zip; staged, not yet a .deb
CPython 3.14.7 15 MB NuGet package; staged, not yet a .deb
Total, one version of everything ~195 MB

Only wine-sg and the three small packages are .debs today. For apt upgrade to update Direct3D, PowerShell and Python, they need packaging too — thin .debs wrapping the pinned upstream builds.

Does it fit on GitHub Pages?

GitHub's published limits for Pages: a 1 GB site, a 100 GB/month soft bandwidth limit, and — for a site built from a git branch — git's 100 MB per file limit. Deploying through GitHub Actions avoids the git file limit.

Machines New installs + updates vs 100 GB
50 ~6 GB fine
300 ~34 GB + installs fine
1,000 ~110 GB + installs over

Recommendation: start on GitHub Pages (via Actions) for testers and early fleets. Move to a VPS, or a VPS fronted by a CDN, before a deployment approaches a few hundred machines. The client side does not change: machines point at a URL, and the URL can move. Using a hostname we control from day one (a CNAME to Pages now, a VPS later) keeps that move invisible to machines already in the field.

Decisions

Decided by David, 2026-09-22:

Also decided, 2026-09-22:

What can be built now without publishing