The dam: Now what ?
Congratulations ! You've got an account on the Dam :)
Now, what can you do with it ? As of
, 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).
- 🥣 There's a a tutorial on how to add Beaver Labs' channel,
- 🧑🏫 and an explanation about how the Store works.
- 📚 The community aims to publish tutorials and HOWTOs, but in the meantime you can try the reference documentation for guix.
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
- Copy any file you want made public to
/srv/the-dam.org/~username
, and it will be avaiable at e.g. https://the-dam.org/~username. - Use
listen
to serve any arbitrary TCP app (including web apps) on https://username.the-dam.org
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.