Shrine
A TempleOS distro for heretics
Install / Use
/learn @minexew/ShrineREADME
Shrine aims to be 99% compatible with TempleOS programs, but also to improve OS in several ways:
- Ease of use: Shrine ships with Lambda Shell, which feels a bit like a classic Unix command interpreter
- Connectivity: TCP/IP stack & internet access out of the box
- Software discovery: Shrine includes a package downloader
You can run Shrine in a virtual machine such as VirtualBox or QEMU, or on a machine compatible with standard TempleOS. Improvements in hardware support are planned and contributions are welcome.
Software included in Shrine:
- Mfa (minimalist file access)
- Lsh (Lambda Shell)
- Pkg (package downloader)
- Wget
Networking & host-VM communication
-
With a virtual AMD PCNet adapter (recommended)
- configure your VM networking: Adapter Type: PCnet-PCI II (in QEMU:
-netdev user,id=u1 -device pcnet,netdev=u1) - Attached to: NAT seems to be the most reliable setting, Bridged Mode also works somewhat
- On boot, Shrine will automatically attempt to acquire an IP address. If you don't see a message about "Configuring network", the adapter was not detected.
- configure your VM networking: Adapter Type: PCnet-PCI II (in QEMU:
-
Tunelled through serial port (Snail):
- configure your VM: COM3 - TCP, server, 7777 (in VirtualBox, server = UNCHECK Connect to existing)
- (make sure to disable networking for the VM, otherwise Native Stack will get precedence)
- start the VM
- run ./snail.py
- you will now be able to access the Internet, try for example
pkg-list
-
File access through Mfa:
- configure your VM: COM1 - TCP, server, 7770
- start
/Apps/Mfa.HC.Zin the VM - on the host, use ./mfa.py to transfer commands and files
- for example:
./mfa.py list /Apps/Mfa.HC.Z Mfa.HC
Networking and Mfa can be used simultaneously.
Package management functions
Note: In Lsh, use pkg-install xyz in place of PkgInstall("xyz") etc.
-
PkgList;List all packages available in the repository.
-
PkgInstall(U8* package_name);Download & install a specific package.
-
PkgInstallFromFile(U8* manifest_path);Manually install a downloaded package. Manifest must reference an existing .ISO.C path.
-
PkgMakeFromDir(U8* manifest_path, U8* src_dir);Build a package from directory contents. For an example manifest, check here. Manifest must reference a valid .ISO.C path which will be used as output!
-
PkgMakeFromFile(U8* manifest_path, U8* file_path);Build a package from a single file. See above for details.
See here for more information about how packages work.
Building from source
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
