Resources ========= Curated list of Plan 9 (and sometimes 9p) libraries and software. Generally when referring to "Plan 9" this really means 9front. 9p.io links are accessible over 9p as well. On 9front you can run `9fs 9pio` as a shortcut. Many of the applications listed here are available under the 9front ports tree. ## Sites - [cat-v.org](http://cat-v.org) - [9p.mom/f](http://9p.mom/f) - files for hacking together bootable things without easy access to a 9front system - [NOPE NOPE NOPE](http://nopenopenope.net) - qwx's site with 9front usage tips and software ## Papers - [Plan 9 From Bell Labs](https://9p.io/sys/doc/9.html) - overview of the Plan 9 system - [Security in Plan 9](https://9p.io/sys/doc/auth.html) - overview of the security architecture ## Manuals - [aiju's manuals](http://man.aiju.de) - [cat-v manuals](http://man.cat-v.org) - [Plan 9 3e FAQ](https://web.archive.org/web/20170601064029/http://www.fywss.com/plan9/plan9v3faq.html) - third edition - [Plan 9 2e FAQ](http://www.fywss.com/plan9/plan9v2faq.html) - second edition - [Plan 9 Tips and Information](http://www.fywss.com/plan9/) - second edition - [Programmer's Manual (1st Edition)](https://plan9.io/sys/doc/) - first edition ## Talks - [The Name Game](https://www.youtube.com/watch?v=3d1SHOCCDn0) - talk on Plan 9 and Inferno by Charles Forsyth - [Plan 9: Not Dead, Just Resting](https://www.youtube.com/watch?v=6m3GuoaxRNM) - talk on Plan 9 and 9front by Ori Bernstein ## Tutorials - [Modding Rio](http://nopenopenope.net) - how to add a wallpaper and change colors - [Plan 9 GUI Examples](https://github.com/nspool/hello-plan9) - GUI development on Plan 9 - [Plan 9 Desktop Guide](https://pspodcasting.net/dan/blog/2019/plan9_desktop.html) - all in one guide to get started ## Applications - [color9](https://git.sr.ht/~moody/color9) - color picker - [disco](https://github.com/henesy/disco) - Discord client - [fontsel](https://github.com/henesy/fontsel) - font selector - [git9](https://github.com/oridb/git9) - git implementation - [unionfs](https://github.com/okvik/unionfs) - deep union file server - [xmpp](https://github.com/ftrvxmtrx/xmpp) - XMPP client - [hell](https://github.com/ftrvxmtrx/hell) - Mastodon client - [9vim](https://vmsplice.net/9vim.html) - port of vim to Plan 9 - [Phil9's 9vim fork](https://github.com/phil9/9vim) - 9vim with additional features and bug fixes - [Moogle](https://shithub.us/moogle/) - simple 3D wireframe editor - [whiteboardfs](https://ryne.moe/whiteboardfs) - collaborative drawing file system - [mpl](https://github.com/henesy/mpl) - music player - [neindaw](https://github.com/ftrvxmtrx/neindaw) - DAW for Plan 9 - [orca](https://github.com/hundredrabbits/Orca) - live programming environment - [treason](https://github.com/ftrvxmtrx/treason) - video player - [ytfs](https://github.com/ftrvxmtrx/ytfs) - file system for playing youtube audio - [zuke](https://github.com/ftrvxmtrx/zuke) - music player - [wrec](https://shithub.us/wrec/) - screen and window recorder ## Languages Languages known to be buildable/operational on Plan 9. - [aa](https://github.com/hellerve/aa) - tiny, embeddable Lisp-like language - [APL](https://github.com/pmikkelsen/apl) - primitive APL implementation - [c4](https://github.com/rswier/c4) - C in 4 functions - [cfront](https://github.com/brho/cfront-3) - archaic C++ pre-compiler - [Chibi Scheme](https://github.com/ashinn/chibi-scheme) - small embeddable scheme - [clox9](https://github.com/henesy/clox9) - port of Nystrom's clox to Plan 9 - [Go](https://golang.org) - the Go programming language - [Hugs](https://www.haskell.org/hugs/) - Haskell98 interpreter - [Idris 2](https://github.com/idris-lang/Idris2) - dependently typed language, pre-alpha port - [Lua (lu9)](https://github.com/kvik/lu9) - Lua from kvik - [Fennel](https://fennel-lang.org) - Fennel via lu9 - [Myrddin](https://myrlang.org) - systems language by Ori Bernstein - [nhc98](https://www.haskell.org/nhc98/) - Haskell compiler - [Ocaml](https://ocaml.org) - Ocaml - [Perl](https://www.perl.org) - Perl - [Python 2](https://www.python.org) - [Scheme 9](https://t3x.org/s9fes/) - Scheme 9 from Empty Space - [Squeak](https://squeak.org) - Squeak/Smalltalk - [Tcl](https://www.tcl-lang.org) - Tcl port by fgb - [TinyScheme](http://tinyscheme.sourceforge.net) - TinyScheme - [UMB Scheme](https://www.cs.umb.edu/~wrc/scheme/) - UMB Scheme - [uxn](https://wiki.xxiivv.com/site/uxn.html) - small stack machine ## Libraries - [libtags](https://github.com/ftrvxmtrx/libtags) - cross-platform library for reading tags - [libtheme](https://github.com/ftrvxmtrx/libtheme) - theming library for Plan 9 graphics - [libutf](https://github.com/cls/libutf) - Plan 9 compatible UTF-8 C library - [microui](https://github.com/rxi/microui) - tiny immediate-mode UI library - [npe](https://github.com/ftrvxmtrx/npe) - native porting environment for POSIX software ## Forks - [9ants](https://github.com/mycroftiv/9ants) - modified kernel and custom namespace control tooling - [9front](http://9front.org) - new protocols, file systems, greatly expanded hardware support - [9legacy](http://9legacy.org) - continues maintaining a Bell Labs-like source base - [9pi](https://github.com/0intro/9pi) - port of 9legacy to the Raspberry Pi - [Harvey](https://github.com/Harvey-OS/harvey) - MIT-licensed OS based on Plan 9 - [JehanneOS](https://github.com/JehanneOS/jehanne) - Giacomo Tesio's fork - [Nix](https://lsub.org/nix/) (deprecated) - focused on high performance parallel cloud computing ## Influenced by Plan 9 - [acme2k](https://github.com/karahobny/acme2k) - acme-inspired editor, geared towards configurability - [edwood](https://github.com/rjkroege/edwood) - acme-inspired editor in Go - [sam](https://github.com/deadpixi/sam) - fork of sam(1) with extensive extensibility - [anvil](https://github.com/prodhe/anvil) - acme-inspired editor in Go - [ad](https://github.com/as/ad) - acme-inspired modal editor - [Vis](https://github.com/martanne/vis) - vi-like editor based on structural regular expressions - [mk](https://github.com/grosskur/mk) - rewrite of mk(1) in Go - [sregx](https://github.com/zyedidia/sregx) - structural regular expressions tool and library - [c9](https://github.com/ftrvxmtrx/c9) - low-level 9p client and server implementation - [plan_rust](https://github.com/nickmass/plan_rust) - Plan 9 influenced kernel in Rust (2019) - [R9](https://github.com/nxsre/r9) - reimplementation of the Plan 9 kernel in Rust (2022-present) - [Akaros](https://github.com/brho/akaros) - parallel and high-performance applications, scales to many cores - [Inferno](https://github.com/inferno-os/inferno-os) - register-oriented VM OS, leverages 9p as "styx" - [Interim](https://github.com/mntmn/interim) - minimal OS featuring a lisp environment - [Redox](https://www.redox-os.org) - Unix-like OS written in Rust