Skip to main content

Elixir

Here is just some naive demo of the general idea. The idea is that Maatuska could be a library of building blocks used by more complex components (or configurations?). Also this demo is not exactly declarative, but it is not imperative either. For instance, a proper implementation in Elixir could rather utilize Flow and other more powerful Elixir semantics.

kernel = Maatuska.kernel("5.10.78")
initramfs = Maatuska.initramfs()
rootfs = Maatuska.rootfs()

[
[kernel, initramfs]
|> Maatuska.volume("FAT32")
|> Maatuska.bootloader(:grub),
[rootfs] |> Maatuska.volume("ext4")
]
|> Maatuska.disk()
|> Maatuska.image("maatuska.img")