Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: LCOS Static Checks

on:
pull_request:
push:
branches-ignore: [master]
workflow_dispatch:

permissions:
contents: read

jobs:
static-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Validate JavaScript syntax
run: node --check app.js

- name: Validate required files and references
shell: bash
run: |
set -euo pipefail
test -f index.html
test -f styles.css
test -f app.js
test -f README.md
test -f .nojekyll
for image in \
screenshots/lcos-01-shot-boot.png \
screenshots/lcos-01-shot-refractainstaller.png \
screenshots/lcos-01-shot1.png \
screenshots/lcos-01-shot2.png \
screenshots/lcos-01-shot3.png \
screenshots/lcos-01-shot4.png; do
test -f "$image"
grep -q "$image" index.html
done
grep -q 'href="styles.css"' index.html
grep -q 'src="app.js"' index.html
grep -q 'This site is satire' index.html
56 changes: 56 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Deploy LCOS to GitHub Pages

on:
push:
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: true

jobs:
deploy:
if: github.event_name == 'workflow_dispatch' || github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Validate JavaScript syntax
run: node --check app.js

- name: Validate static assets
shell: bash
run: |
set -euo pipefail
test -f index.html
test -f styles.css
test -f app.js
test -f screenshots/lcos-01-shot-boot.png
test -f screenshots/lcos-01-shot-refractainstaller.png
test -f screenshots/lcos-01-shot1.png
test -f screenshots/lcos-01-shot2.png
test -f screenshots/lcos-01-shot3.png
test -f screenshots/lcos-01-shot4.png
grep -q 'styles.css' index.html
grep -q 'app.js' index.html

- name: Configure Pages
uses: actions/configure-pages@v5

- name: Upload static site
uses: actions/upload-pages-artifact@v4
with:
path: .

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions .nojekyll
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Static LCOS Pages site; intentionally no Jekyll processing.
51 changes: 19 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,28 @@
# The Lunduke Computer Operating System
# LCOS — The Operating System We Absolutely Did Not Build

A Linux system built by Lunduke, for Lunduke.
> **Satire fork / browser visualization. This is not a Linux distribution. There is no ISO.**

![](screenshots/lcos-01-shot2.png)
LCOS is an interactive GitHub Pages mock desktop imagining what the Lunduke Computer Operating System could look like if screenshots, Linux discourse, and far too much confidence achieved sentience.

The Lunduke Computer Operating System (LCOS) adheres to a core set of ideas:
## Live site

- No Age or ID Verification.
- No Online Accounts Needed.
- No AI.
- No Weird Politics.
- No Systemd.
- No Forced Rust Clones.
- Modern Tech. 90s UI.
https://qsolkcb.github.io/LCOS/

LCOS is built on top of Devuan (a high quality fork of Debian, which removes Systemd), and includes carefully selected software to adhere to those core ideals (including the stripped-down Brave Origin as the default web browser).
## Included

## The Lunduke Computer Operating System is a Monarchy.
- fake boot sequence and LCDE browser desktop
- draggable, minimizable and maximizable windows
- interactive terminal and `.debate` package manager
- parody Issue Control Center
- Ethics Daemon based on `CodeOfEthics.md`
- gallery preserving the existing screenshots
- GitHub Pages deployment and static-site CI
- absolutely no actual distro

LCOS is not a community project. The King has total control, both technologically and organizationally. This prevents Political Activists from seizing control, as has happened with so many other Open Source projects and organizations.
## Run locally

## Upstream First
```bash
python3 -m http.server 8000
```

LCOS tries to avoid LCOS-only code changes whenever possible, perfering to ship "vanilla" versions of upstream projects. When changes or fixes are required for LCOS, in upstream projects, the preference is to hire developers of that upstream project to implement those changes in upstream itself. That way everyone can benefit from the work being done while, simultaneously, supporting the work of engineeers who make all of this possible.

As such, source code deviations, from upstream projects, is kept to an absolute minimum in LCOS. All modified source code, primarily in the form of [LCOS-specific packages](https://github.com/BryanLunduke/LCOS-Branding), are published and made available.

## Early Development

LCOS is in early development. Expect bugs.

[The Lunduke Journal Forum](https://forum.lunduke.com/) is the exclusive place to ask questions, provide suggestions, report issues, or talk with other LCOS users. To keep trolls away, [this forum](https://forum.lunduke.com/) is only available to [Lunduke Journal subscribers](https://lunduke.com/).

## Screenshots

![](screenshots/lcos-01-shot3.png)

![](screenshots/lcos-01-shot1.png)

![](screenshots/lcos-01-shot4.png)
**This repository and website are satire.**
Loading