DEV Community

Yappaholic The Junior
Yappaholic The Junior

Posted on

The wicked path of independent Linux Distro

Preface

Some time ago I wrote a post about Helix editor and questioned it existence. Since then I learned a lot(at least what Kakoune is) and started to grasp more about linux and why it is awesome (i.e. started distrohopping).

Anyone with enough Linux experience will tell you that to be a real Linux user You need to pick the MOST niche distro possible, and the less actual features you get from it the better. That's why I, as a real embodiment of SoyDev GigaChad, decided to move to NixOS and Gentoo, last being more preferred.

But at some point I encouraged myself to look up the source code for Portage, the Gentoo package manager. And lo and behold, almost everything is Python code. The view of it filled me with the rage of thousand suns and from that point all I thought about is making me own distro. So ladies and gentelmen, I am showing you

The Cave Linux

Cave Linux logo

Imagine that the logo is finished... just as the other part of distro ;)

So, lets get it clear about what is what. The Cave Linux is going to be an independable meta Linux distribution powered by Zig with fast package manager called Grit. Grit is supposed to be blazingly fast, with minimal to zero headache on configuring and with nice CLI experience.

The big benefit of having Zig is that it ships with LLVM C and C++ compiler, which means that
a: No need to compile compiler, which takes eternity
b: Almost everything can be built using Zig only and not relying on GCC/Clang

Right now the path is hard, because to build the package manager from scratch one should use a lot of time and patience(and make a scripting language at some point).

But why not use Python/Nix/Bash/XYZ language?

The reasons for that are simple, really:

  1. I don't want to build another nix wrapper, because anyone can get fresh Linux From Scratch build, slap nix on top and voila, distro is ready!
  2. No python because I think there should be less need for system resources from the package manager itself, especially on slower hardware.
  3. As one great 10x developer said "If you get to the point of writing for loops in Bash, you are doing something wrong with your life".
  4. And not others because most of them are stinky for me (especially C/C++ or God forbid Rust).

But why make another distro?

Well, why not? At the end of the day, the amount of raw experience you get from making something like this is IMMENSE(making your own config language, parser, transpiler, database, installer, package manager and shipping it all within one tarball). Also because

F##K IT WE BALL

So what are the future goals?

Right now the most important things for this project are:

  1. Try and build whole Linux with just Zig.
  2. Write my own scripting language which will then build the package.
  3. Make a site for the documentation and quirks of the distro(probably going to use functional language for that).
  4. Pack everything in a tarball an let others try it out.
  5. ??? PROFIT!!!

Now, if you got somewhat interested or if your body is trembling in front of my personal Frankestein, I suggest you check my repository, when I try to make Grit a real thing to use. And thank you for your time reading this!

Top comments (0)