# NOSE:pluto

## Installation

1. Make a fresh RPi image with a "nose" user.

2. Clone this repo

3. From the root of this repo, run:

    bun remote:install`

4. When it's done (it'll reboot) visit:

    http://nose-pluto.local

And to make sure DNS is working:

    http://ping.nose-pluto.local/

5. Have fun!

## Local Dev

    bun install
    bun dev
    open localhost:3000

## Commands

Commands can return one of three types:

- `string`
- `{ error: string }`
- `{ html: string }`

They can also `throw` to display an error.

## Fonts

Use this to examine what's inside the C64 .woff2 font file in public/vendor:

https://wakamaifondue.com/

## Pluto Goals: Phase 1

- [x] Hosts valtown-style Bun apps (for your home network)
- [x] Provides a NOSE terminal/shell GUI
- [x] Runs one-shot TypeScript commands (via NOSE terminal)
- [x] Has a 960x540 (16:9) virtual screen size that scales to the actual size of the display
- [x] Runs on a Raspberry Pi 5

## Pluto Goals: Phase 2

- [x] public tunnel for your NOSE webapps
    - [x] public tunnel lives through reboots
- [x] self updating NOSE server
- [x] `pub/` static hosting in webapps
- [ ] game/bin/www cartridges
- [ ] upload files to projects
- [ ] pico8-style games
