The dam: Now what ?

Congratulations ! You've got an account on the Dam :)

Now, what can you do with it ? As of <2024-04-14 Sun>, host git repositories, web pages, web applications, finger statuses, or any arbitrary TCP server. You can also play with inferno.

1. Login

To login to the Dam, just ssh to it:

ssh <your-login>@the-dam.org

2. 🐱 Chat

The first thing you can do is come by and say hello :)

Your $PATH includes suc, the Simple Unix Chat system, by default.

🧑‍🏫 A complete explanations of how suc works is available here, but what you need to survive is the following:

You can list channels by going:

ls -l /var/lib/suc
total 64
-rw-r----- 1 root forbiddenlands  6234 Apr 13 21:04 forbiddenlands
-rw-r----- 1 root iwp9            4181 Apr 21 21:46 iwp9
-rw-r----- 1 root users          44368 Apr 13 19:18 the-dam

Channels are just text files ! Read a channel with:

less -r +G /var/lib/suc/the-dam

This will put you at the end (most recent) of the file, you can then scroll back up for context.

To participate in the conversation:

usuc the-dam

If you want to exit usuc, hit Ctrl-D.

less has a mode where appends to the file will appear in real time on your screen (as tail -f does), just hit F to activate it.

3. 🐃 Guix as a user

Guix manages the whole system. Guix lets you install stuff as a user whereas most package managers require a privileged account. Try out guix search, guix shell, and guix install (each of which have a --help option).

4. 🐃 Guix for whole system management

If you want to understand the system's configuration, take a peek at /etc/config.scm and you will find the file that defines the whole operating system. Privileged users can edit this file, but all users ought to discuss its contents and request changes, this file is meant to be a communally-built artefact.

The /etc/config.scm file makes use of non standard extensions to GNU Guix, as defined in Beaver Labs' guix channel. You can read a preliminary explanation on the guix-devel mailing list until the community gets around to writing some actual documentation.

5. 🐰 Plan 9 tools

Beaver Labs' guix channel includes a plan9port package. Because it redefines most of the standard core utilities, it will probably break your user space. What a perfect use case for guix shell: getting a temporary shell in with plan9port in its $PATH.

guix shell plan9port
9 ls
plumber -p <your plumbing file>

6. Git hosting

7. 🌐 Web hosting

8. 👆 Finger hosting

9. Arbitrary TCP service hosting

Each user get 12 ports and can host any service they want on any of those 12 ports.

10. Inferno hosting

Run

guix shell --system=i686-linux inferno

and then

$GUIX_ENVIRONMENT/inferno/Linux/386/bin/emu

to launch inferno.

11. Generic resources