forked from sborovic/dmzOS
1
0
Fork 0
dmzOS/README.md

47 lines
1.6 KiB
Markdown

# dmzOS
**dmzOS** is an operating system written by a group of computer enthusiasts gathered around [Decentrala](https://decentrala.org/). You are free to explore, learn, and contribute!
Description:
* Written from scratch in C and asm.
* POSIX-compliant (as aspiring to [Stan Dard](https://wiki.osdev.org/Stan_Dard)).
* For the amd64 architecture.
* Extensively documented.
Goals:
* Sharpen low-level programming skills.
* Familiarize with amd64 architecture details.
* Have fun along the way!
Success criteria:
* Run vim on the OS.
Rules:
* Please provide an adequate entry in the Wiki for each non-trivial code contribution.
For additional information, please refer to the [Wiki](https://gitea.dmz.rs/sborovic/dmzOS/wiki).
# Instructions for running the utilities
## c_toolchain utility docker image
This is the consistent C toolchain environment, containing all the tools needed to run and develop the project.
Dockerfile: `dockerfile.c_toolchain`
Run the docker-compose command to get a `bash` shell that is bound to the `dmzOS` directory:
```docker
docker-compose run --rm c_toolchain
```
Any changes in the container `dmzOS` directory will be reflected in the local `dmzOS` directory.
The image contains `indent` and `clang-format` as `C` code formatters.
A .vimrc file is automatically part of the image, and it contains a rule to make vim run the following formatting command on buffer save:
```bash
indent -kr -ts4 %
```
This is using the Kernighan and Ritchie code styling, as well as identations with 4 spaces.
If you want to use your own `.vimrc`, please replace the existing `.vimrc` file inside the `config` directory with it.