Dusk OS

Dusk OS is a 32-bit Forth and big brother to Collapse OS. Its primary purpose is to be maximally useful during the first stage of civilizational collapse, that is, when we can't produce modern computers anymore but that there's still many modern computers around.

It does so by aggressively prioritizing simplicity at the cost of unorthodox constraints, while also aiming to make operators happy.

Dusk OS innovates by having an "almost C" compiler allowing it to piggy-back on UNIX C code, through a modest porting effort, to reach its goals and stay true to its design constraints with a minimal effort.

The end result is a system that has a very high "power density", high enough to issue a challenge to the conventional software culture.

You can read on for more details, but the impatient among you might prefer taking the Dusk Tour.

Status

List of ported codebases:

List of homegrown applications:

Screenshot

Dusk's console isn't very exciting to look at, but Dusk's port of Oberon, Duskberon, looks pretty good.

How terse is that thing anyway?

$ git checkout v24
$ make dusk
$ ./dusk -f fs/home/codesz.fs
Kilobytes of code in Dusk OS
Everything except /doc /data /tests     776
Documentation                           800
Automated tests                         180
Boot payload minus HAL                  50
C compiler                              38
Oberon compiler                         47
Oberon system                           116
Lisp                                    16
Text Editor                             13
All USB drivers                         63
EFI drivers                             14
This script                             3

CPU-specific... i386  amd64 arm   riscv m68k 
Assembler       11    same  5     14    5
Disassembler    8     same  4     10
Kernel          10    9     14    14    9
HAL             7     8     9     9     7
EFI interface   4     4

As a reference, running wc -c *.c *.h lib/* include/* on TinyCC 0.9.27's source code yields 1420 kilobytes of code.

Getting Dusk

Dusk OS's git repository is hosted on sourcehut. The regular way of getting it will be to clone the repository from there. You can try to run it directly from the master branch or you can target one of its releases using the release tags (for example v24).

More information about how to build and run Dusk OS is available in the root README as well as in its documentation.

Becoming a Dusk operator is an involving process. It's possible that you're interested in tasting a bit of Dusk's power before you dive into this wonderful adventure of learning Forth and Dusk. You're in luck, there's the Dusk Tour which doesn't require prior Forth knowledge and allows you to dip your toes in it.

For deployments to actual machines, there's also the Dusk OS Deployments collection that can be of use.

There is also the option of building Dusk Packages on top of other OSes. You can look at Dusk Packages examples for a quick start.

Further reading

Linking to this website

If you want to link to this website, please use http:// links rather than https:// ones. While http:// links are trivially "upgradable" to HTTPS, the opposite is not.

Right now, this website is hosted on a service (sourcehut pages) that doesn't offer the option of not using SSL, but eventually, it's possible that this website ends up being served by a machine running Dusk OS. In that case, it will not be served under SSL and all https:// links will be broken.

Related links