You can use Plan 9 in Linux (and other operating systems) by using the Plan 9 from User Space distribution.
In NixOS
you can use the plan9port
package.
After installing you’ll have the 9
binary to interact with the Plan 9 binaries. For example:
9 acme
opens acme , the plan 9 text editor. Plan 9 programs are strange to LInux users because they expose filesystems, for example acme exposes an acme filesystem with the content of all its buffers, plus some control data.
This allows you to extend the program with whatever you need, it’s a pretty unique proposition. Using the 9
executable you can check this, for example for buffer 4 I could do. exploratory programming
$ 9 9p -a '<addr>' read /4/body
---
title: 'Plan 9'
---
You can use Plan 9...
For example, I edit my notes using acme with a couple of scripts, one called note-link, that is basically just this
#!/bin/sh
NAME=$(cat)
printf "<L name='$NAME' from='' />"
Whatever I have selected in acme, I run the note-link command and it creates a link to it.
Then I have another script that if I have selected the name of a note either opens me the note, or creates the note if it doesn’t exist and then opens it. It’s also a very simple script
addr='unix!/tmp/ns.marcecoll.:0/acme'
NAME=$(cat)
function p {
9 9p -a $addr $@
}
file="/home/marcecoll/proj/blog/blog/src/content/note/$NAME.mdx"
if [ ! -f "$file" ]
then
cat > $file << NOTE
---
title: '$NAME'
---
import L from '../../components/L.astro'
NOTE
fi
printf "name $file\nget" | p write /new/ctl
printf "$NAME"