Update README

This commit is contained in:
Albert Armea 2025-12-22 23:50:42 -05:00
parent d2eceaf424
commit 99cd60ff0a

View file

@ -8,11 +8,11 @@ not software or hardware vendors, by providing:
* the ease-of-use of game consoles * the ease-of-use of game consoles
* access to any application that can be run, emulated, or virtualized in desktop Linux * access to any application that can be run, emulated, or virtualized in desktop Linux
* with access controls similar to iOS Screen Time * with granular access controls inspired by and exceeding those in iOS Screen Time
While this repository provides some recipes for existing software packages While this repository provides some recipes for existing software packages
(including non-free software), shepherd-launcher is *non-prescriptive*: as the (including non-free software), `shepherd-launcher` is *non-prescriptive*: as
end user, you are free to use (or not use) them or write your own. the end user, you are free to use them, not use them, or write your own.
## Screenshots ## Screenshots
@ -20,8 +20,8 @@ TODO:
* home screen at different times showing different applications * home screen at different times showing different applications
* modern proprietary application showcase (Minecraft, individual Steam games) * modern proprietary application showcase (Minecraft, individual Steam games)
* emulated application showcase (ScummVM games, 90s edutainment on Win9x, Waydroid) * emulated application showcase (ScummVM games, 90s edutainment on Win9x, Duolingo via Waydroid)
* externally managed ChromeOS Flex for access to school resources * externally managed Chrome container for access to school resources
* media showcase (local storage and individual titles from streaming services) * media showcase (local storage and individual titles from streaming services)
* time limit popup * time limit popup
* "token" system * "token" system
@ -31,15 +31,45 @@ TODO:
tl;dr: tl;dr:
1. any Linux with Wayland (optional: TPM-based FDE plus BIOS password to prevent tampering) 1. any Linux with Wayland (optional: TPM-based FDE plus BIOS password to prevent tampering)
2. Sway + config 2. System dependencies (Ubuntu: `apt install curl sway swayidle pkg-config libcairo2-dev libxkbcommon-dev`)
3. binaries (TODO: deployable package that depends on Sway and installs the config) 3. Rust (`curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`)
4. test session on login 4. binaries (TODO: deployable package that depends on Sway and installs the config)
5. configure auto-login to this session 5. test session on login
6. configure auto-login to this session
## Usage ## Usage
TODO TODO: open lid; play
## Core concepts
* **Launcher-first**: only one foreground activity at a time
* **Time-scoped execution**: applications are granted time slices, not unlimited sessions
* **Parent-defined policy**: rules live outside the application being run
* **Wrappers, not patches**: existing software is sandboxed, not modified
* **Revocable access**: sessions end predictably and enforceably
## Recipes ## Recipes
TODO TODO
* `.desktop` syntax plus rules (time allowance, time-of-day restrictions, network whitelist, etc.)
* wrappers for common applications
* how to write a custom wrapper or custom application
## Development
TODO: `./run-dev`, options
## Contributing
`shepherd-launcher` is licensed under the GPLv3 to preserve end-users' rights.
By submitting a pull request, you agree to license your contributions under the
GPLv3.
Contributions written in part or in whole by generative AI are allowed;
however, they will be reviewed as if you personally authored them.
The authors of `shepherd-launcher` do not condone software or media piracy.
Contributions that explicitly promote or facilitate piracy will be rejected.
Please support developers and creators by obtaining content legally.