└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Plan9 2 | 3 | A curated list of awesome Plan9 (and sometimes 9p) libraries and software. 4 | 5 | > Generally when referring to "Plan9" this document really means 9front. 6 | 7 | 9p.io links are accessible over 9p as well. On 9front you can run `9fs 9pio` as a shortcut. 8 | 9 | Many of the applications listed here are available under the 9front [ports tree](https://code.9front.org/hg/ports). 10 | 11 | ### Contributing 12 | 13 | Please do. 14 | 15 | PR's welcome for all edits or new projects. 16 | 17 | ### Contents 18 | 19 | - [Awesome Plan9](#awesome-plan9) 20 | - [Resources](#resources) 21 | - [Applications](#applications) 22 | - [Languages](#languages) 23 | - [Libraries](#libraries) 24 | - [Forks](#forks) 25 | - [Influenced by Plan9](#influenced-by-plan9) 26 | 27 | ## Resources 28 | 29 | * [Modding Rio](https://wiki.xxiivv.com/site/rio.html) - Tutorials on how to add a wallpaper and change colors. 30 | * [Plan9 GUI Examples](https://wiki.xxiivv.com/site/plan9_c.html) - Tutorials to learn about GUI development on Plan9. 31 | * [Plan9 Desktop Guide](https://pspodcasting.net/dan/blog/2019/plan9_desktop.html) - a all in one guide to get started with Plan9. 32 | 33 | ### Sites 34 | 35 | * [cat-v](http://cat-v.org) 36 | * [9p.mom/f](http://9p.mom/f) - Files for hacking together bootable things without easy access to a 9front system 37 | * [NOPE NOPE NOPE](http://nopenopenope.net/) - qwx's site with 9front usage tips and software 38 | 39 | 40 | ### Papers 41 | 42 | * [Plan 9 From Bell Labs](https://9p.io/sys/doc/9.pdf) - Overview of the Plan9 system itself 43 | * [Security in Plan 9](https://9p.io/sys/doc/auth.pdf) - Overview of the security architecture of Plan9 44 | 45 | 46 | ### Manuals 47 | 48 | * [aiju's manuals](http://man.aiju.de/) 49 | * [cat-v's manuals](http://man.cat-v.org/9front/) 50 | 51 | ### Third Edition 52 | 53 | * [Plan9 3e FAQ](http://www.fywss.com/plan9/plan9v3faq.html) - FAQ for 3rd edition release 54 | 55 | ### Second Edition 56 | 57 | * [Plan9 2e FAQ](http://www.fywss.com/plan9/plan9v2faq.html) - FAQ for 2nd edition release 58 | * [Plan9 Tips and Information](http://www.fywss.com/plan9/info/) 59 | 60 | ### First Edition 61 | 62 | * [Plan 9 from Bell Labs Programmer's Manual (1st Edition)](http://doc.cat-v.org/plan_9/1st_edition/manual.pdf) 63 | 64 | ### Talks 65 | 66 | * [The Name Game](https://youtu.be/3d1SHOCCDn0) - Talk on Plan9 and Inferno by Charles Forsyth 67 | * [Plan 9: Not Dead, Just Resting](https://youtu.be/6m3GuoaxRNM) - Talk on Plan9 and 9front by Ori Bernstein 68 | 69 | ## Applications 70 | 71 | ### Utilities 72 | 73 | * [color9](https://wiki.xxiivv.com/site/plan9_color.html) - Color picker 74 | * [disco](https://github.com/henesy/disco) - Discord client 75 | * [fontsel](https://git.sr.ht/~ft/fontsel) - Font selector 76 | * [git9](https://github.com/oridb/git9) - Git implementation 77 | * [unionfs](https://github.com/okvik/unionfs) - Deep union file server 78 | * [xmpp](https://git.sr.ht/~ft/xmpp) - XMPP client 79 | * [hell](https://hell.limitedideas.org) - Mastodon client 80 | 81 | ### Editors 82 | 83 | * [9vim](https://vmsplice.net/9vim.html) - A port of vim to Plan9 84 | * [Phil9's fork](http://shithub.us/phil9/vim/HEAD/info.html) - A version with additional features and bug fixes 85 | 86 | ### Graphics 87 | 88 | * [Moogle](https://wiki.xxiivv.com/site/moogle.html) - A simple 3D wireframe editor 89 | * [whiteboardfs](https://git.sr.ht/~amavect/whiteboardfs) - A collaborative drawing file system 90 | 91 | ### Audio/music 92 | 93 | * [mpl](https://github.com/majiru/mpl) - Music Player 94 | * [neindaw](https://git.sr.ht/~ft/neindaw) - DAW for Plan 9 95 | * [orca](https://git.sr.ht/~ft/orca) - Live Programming Environment 96 | * [treason](https://git.sr.ht/~ft/treason) - Video player 97 | * [ytfs](https://github.com/majiru/ytfs) - File system for playing youtube audio 98 | * [zuke](https://git.sr.ht/~ft/zuke) - Music player 99 | * [wrec](https://git.sr.ht/~ft/wrec) - Screen and window recorder 100 | 101 | ## Languages 102 | 103 | *Languages which are known to be buildable/operational on Plan 9.* 104 | * [aa](https://git.sr.ht/~ft/aa) - A tiny, embeddable Lisp-like language 105 | * [APL](https://apl.pmikkelsen.com/) – Primitive APL Implementation 106 | * [c4](https://github.com/henesy/c4) - C in 4 functions 107 | * [cfront](http://www.quintile.net/plan9/c++/index.html) - Archaic C++ pre-compiler 108 | * [Chibi Scheme](https://github.com/ashinn/chibi-scheme) - A small embeddable scheme implementation 109 | * [clox9](https://github.com/henesy/clox9) - Port of Nystrom's clox implementation of the Lox language to Plan9 110 | * [Go](https://golang.org/) - The Go programming language 111 | * [Hugs](https://9p.io/wiki/plan9/Contrib_index/index.html) - Haskell98 interpreter 112 | * [Idris 2](https://git.sr.ht/~ft/idris2) - A dependently typed programming language, pre-alpha port 113 | * [Lua](http://download.redis.io/releases/redis-3.0.1.tar.gz) - Lua from Redis 114 | * [Lua (lu9)](https://sr.ht/~kvik/lu9/) - Lua from kvik 115 | * [Fennel](https://fennel-lang.org/) - Fennel via lu9 (thanks grimmware) 116 | * [Lua (5.0.2)](https://9p.io/wiki/plan9/Contrib_index/index.html) Lua for APE 117 | * [Myrddin](https://myrlang.org/) - Systems language by Ori Bernstein 118 | * [nhc98](https://9p.io/sources/contrib/fernan/nhc98/) - Haskell compiler 119 | * [Ocaml](http://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-4.07.1.tar.gz) - Ocaml 120 | * [Perl](9p.io/sources/extra/perl.iso.bz2) - Perl 121 | * [Python 2](http://git.9front.org/plan9front/pyhg/HEAD/info.html) 122 | * [Scheme 9](https://t3x.org/s9fes/) - Scheme 9 from Empty Space 123 | * [sxm](https://9p.io/wiki/plan9/Contrib_index/index.html) - The sxm scheme language 124 | * [Squeak](https://github.com/henesy/squeak) - Squeak/Smalltalk from de0u/squeak 125 | * [Tcl](https://9p.io/sources/contrib/fgb/root/sys/src/cmd/tcl/) - Tcl port by fgb 126 | * [TinyScheme](https://download.sourceforge.net/tinyscheme/tinyscheme-1.41.tar.gz) - TinyScheme 127 | * [UMB Scheme](https://9p.io/wiki/plan9/Contrib_index/index.html) - UMB Scheme 128 | * [uxn](https://sr.ht/~rabbits/uxn/) - A small stack machine 129 | 130 | ## Libraries 131 | 132 | * [libtags](https://git.sr.ht/~ft/libtags) - A cross-platform library for reading tags 133 | * [libtheme](https://github.com/Plan9-Archive/libtheme) - A theming library for the plan 9 graphics system 134 | * [libutf](https://github.com/cls/libutf) - Plan 9 compatible UTF-8 C library 135 | * [microui](https://git.sr.ht/~ft/microui) - Tiny immediate-mode UI library 136 | * [npe](https://shithub.us/sigrid/npe/HEAD/info.html) A native porting environment for POSIX software 137 | 138 | ## Forks 139 | 140 | * [9ants](http://9gridchan.org/) - Mycroftiv's fork (of 9front) featuring a modified kernel and custom namespace control tooling 141 | * [9atom (deprecated?)](http://mirror.postnix.pw/9atom/INSTALLERS/) - Erik Quanstrom's fork (mirror) 142 | * [9front](http://9front.org/) - Fork featuring new protocols, file systems, and greatly expanded hardware support 143 | * [9legacy](http://9legacy.org/) - Fork which continues maintaining a Bell Labs-like source base 144 | * [9pi](https://9p.io/sources/contrib/miller/) - Port of 9legacy to the Raspberry Pi 145 | * [Harvey](https://harvey-os.org/) - An MIT-licensed OS based on Plan 0 146 | * [JehanneOS](http://jehanne.h--k.it/) - Giacomo Tesio's fork ([Gitea home](https://gitea.it/JehanneOS/jehanne)) 147 | * [Nix (deprecated)](https://lsub.org/nix/) - A fork of Plan 9 focused on high performance parallel cloud computing 148 | 149 | ## Influenced by Plan9 150 | 151 | ### Editors 152 | 153 | * [acme2k](https://github.com/karahobny/acme2k) - An acme-inspired geared towards easy configurability 154 | * [editor](https://github.com/jmigpin/editor) - An acme-inspired, full-featured, editor in Go 155 | * [edwood](https://github.com/rjkroege/edwood) - An acme-inspired editor in Go 156 | * [sam](https://github.com/deadpixi/sam) - A fork of the unix sam(1) and samterm(1) with extensive extensibility 157 | * [anvil](https://anvil-editor.net) - An acme-inspired editor in Go 158 | * [ad](https://github.com/sminez/ad) - An acme-inspired modal editor 159 | * [Vis](https://github.com/martanne/vis) - A vi-like editor based on Plan 9's structural regular expressions 160 | 161 | ### Utilities 162 | 163 | * [mk](https://github.com/dcjones/mk) - A rewrite and partial re-imagining of mk(1) in Go 164 | * [sregx](https://github.com/zyedidia/sregx) - A tool and library for using structural regular expressions 165 | 166 | ### Libraries 167 | 168 | * [c9](https://git.sr.ht/~ft/c9) - A low-level 9p client and server implementation 169 | 170 | ### Kernels 171 | 172 | * [plan_rust](https://github.com/TheEnbyperor/plan_rust) - Plan9-influenced kernel in Rust (2019-2019) 173 | * [R9](https://github.com/r9os/r9) - R9 is a reimplementation of the plan9 kernel in Rust (2022-present) 174 | 175 | ### Operating Systems 176 | 177 | * [Akaros](http://www.akaros.org) - Support for parallel and high-performance applications and to scale to a large number of cores 178 | * [Inferno](http://www.vitanuova.com/inferno/) - Register-oriented virtual machine operating system which can run natively and hosted, leverages 9p heavily as "styx" 179 | * [Interim](https://github.com/mntmn/interim) - Minimal operating system featuring a lisp environment (everything is a file is a symbol) 180 | * [Redox](https://www.redox-os.org/) - A Unix-like operating system written in Rust 181 | --------------------------------------------------------------------------------