I’m going to go point-by-point.
is this community appropriate for asking 9front questions?
Sure, it’s the most active part of Plan 9 by a country mile.
I read that Plan 9 is monolithic, but I found a lot of apocryphal evidence that it’s actual quite much more of a microkernel in spirit. Is this at all true?
My understanding is that Plan 9 is closer to a microkernel, yes.
Is there any cross compiling, or has Rust be ported to 9front?
No, at least not in any active form to my knowledge.
I hate having to use a mouse. I consequently have greatly disliked Acme every time I’ve used it. Should I give up on 9front?
If you hate mice that much, probably. You’re just going to be fighting with everything otherwise.
is there any hope of me being able to get Helix running on 9front?
Probably not.
I hate mice and so want a tabbed window manager. I vastly prefer herbstluftwm, but honestly any keyboard-driven tabbed WM workflow would work.
There are ways to get a sort of “keyboard-centric” workflow by using riow(1)
, but you will need to use the mouse often. It’s just part of the whole vibe when using Plan 9 — it was built around graphical displays and 3-button mice being the assumed standard. There’s also an alternative to rio
called lola
which has workspaces and tabbing out of the box, but it doesn’t have a keyboard controller at this time.
Should I just give up on 9front?
Probably. I’m going to go out on a limb and say that a good deal of the 9front devs might say something along those lines as well.
Will I be able to develop Go on 9front?
Go is well supported on 9front. I built the latest version from source last week and use Rob Pike’s ivy
and sid
basically every day.
what are the VCS options?
See git(1)
and our ancient version of Mercurial.
Am I thinking about this all wrong?
Probably.
Is 9 front really just turning your powerful workstation into a dumb terminal from which you connect to other computers running all of the other software you need to do development? Or is it shoehorning folks into a drastically constrained set of tools - ACME, Plan9 C, Rio - useful for developing Plan 9 tools and little else? Or is there a wonderful world of Plan9 diversity, with the ability to support diversity, accommodate people who can’t or won’t use pointing devices, running tools that can cross compile to a variety of target platforms?
I’m just going to be real: Plan 9 as a whole may not be what you want. It’s less of an OS for individual machines and more a set of building blocks for the network as a whole. It is also primarily “intended” for building tools that take advantage of the specific ways that it presents itself when it comes interfaces. In short: less ports, more building from scratch to do things “the 9 way.”
Plan 9 is about using heterogeneous groups of machines to create networks where different pieces can be swapped and assigned to different machines as needed/desired. Installing Plan 9 on a single and self-contained system, while interesting and definitely possible, is kind of missing the point.
The original idea was basically to use low-powered diskless terminals to connect to a file server and, eventually, separate powerful number-crunching CPU servers. The file servers would only serve files, the cpu servers are for the actual computing and compiling, and the terminal was where you did all of your actual “work” in that it was the machine you were physically seated at. The individual boxes behind the scenes almost stop mattering at a certain point; everything just becomes a single contiguous 9-thing to the user once all of the infrastructure is in place.
I would highly suggest watching basically everything from the adventuresin9 YouTube channel if you haven’t already.
With all of that out of the way, I would also suggest giving it a try, but coming to Plan 9 with a different mindset and meeting it as it is and with what it gives you out of the box. If you haven’t yet, join the SDF Boot Camp and poke around on a real system instead of doing the traditional “install in a VM” test.
You’ll get used to it quickly and may even start to like it.
Some of us don’t really view that as a mistake. ☺
Using the console-only mode will be an absolute pain, I can assure you. You won’t have
^F
completion inrc
and there’s literally no scrollback buffer. The main way of even seeing the scrollback buffer (manipulating/dev/text
) doesn’t work because/dev/text
simply doesn’t exist when you aren’t runningrio
. There also isn’t a dedicated terminal multiplexing application because that isn’t needed when runningrio
. That being said, you can access it by simply settingmonitor=none
inplan9.ini
. You’ve been warned.Some people choose to simply launch
acme
instead ofrio
from$home/lib/profile
to get a minimalistic text-only interface, but you come up against a problem: you can’t launch any graphical applications because they all require parts of the windowing system (rio
orlola
). You also still need to use the mouse, of course.In short: if you’re looking for a novel UNIX-like text-only environment, look elsewhere. Plan 9 is almost entirely built around being able to log in with graphics.