3 Oasis is a [suckless](suckless.md) [linux](linux.md) [distribution](distribution.md), which
4 appears on the [rocks](rocks.md) suckless.org site. It is basically a build system containing
5 lua scripts which compile into [ninja](ninja.md) files, which then compile the software, in a
6 very efficient manner, as programs are "compiled directly", not using their own build system.
8 The reason why this is done is because another goal of this project is to build all programs
9 [statically](static-linking.md), and many packages simply will pose problems with their shitty
10 autoconf scripts and build systems. That also removes [dependencies](dependency.md) like cmake
13 Oasis's root directory is managed in an interesting non-standard way, simliar to
14 [stali's](stali-linux.md). The oasis build system will commit to the root directory using
15 [git](git.md), then all new builds are treated as git commits, meaning that you can also revert
16 back to previous builds if you encounter an error, similar to [nixo's](nix.md). It also enables
17 the possibility of pulling the complete root directory from an external git repo, avoiding the
18 build process completely.
20 The root directory is configured by "config.lua", a lua script containing all the sets and
21 packages you wish to install, including the cflags and other relevant variables. You then run
22 "./setup.lua" to generate the ninja build files.
24 Interestingly oasis in itself can be used as an extension of any linux distribution, simply by
25 adding the path to "config.prefix" in config.lua and installing the root dir there.
27 It is important to note that the "/etc" dir is not managed by oasis, but rather can be another
28 git repo. Templates are provided.
30 Oasis uses very different software compared to modern linux distributions. It uses vis instead
31 of [vim](vim.md), velox instead of [xorg](xorg.md), [bearssl](bearssl.md) instead of
32 [libressl](libressl.md) or [openssl](openssl.md), [musl](musl.md) instead of [glibc](glibc.md),
33 oksh instead of bash, perp and sinit instead of [systemd](systemd.md)...
35 A good tool to use alongside oasis is the [kiss](kiss-linux.md) package manager for the packages
36 which aren't provided by it.