DISTROCRAFTING
+Beggining
+Are you wondering wether you should distrocraft a linux distro? (here's why you should and you shouldn't anyway)
+Distrocrafting is a complicated process, so if you quit things easily, DON'T. TRY. DISTROCRAFTING. SERIOUSLY.
++
Writing a PACKAGE MANAGER
++ Yes, the dreaded Package Manager (scarrry)
+ No distro is complete without it. Unless you are a psycho.
+
A modern package manager typically implements these things:
+ * Dependency Tracking+ * File tracking for removal
+ * Conflicts (a very IMPORTANT part of packaging)
+ * Lockfiles to prevent multiple instances that work on the same files
+ * Package Manager Configuartion that should be in something like ini or json, two readable standards
+ * Checksums to check whether the file has been downloaded correctly
+
+ Unless you want nobody to use your distro, a package manager is recommended. Try avoiding shell as it has for example a billion sha256sum binaries, all differing slightly. +
+
Packaging things
++ Now, for the most difficult process of distrocrafting, packaging
+
A distro isn't a distro without software like:
+ + * A bootloader to boot your distro+ * A kernel, configure it wisely, but broadly.
+ * A text editor to configure things on your distro
+ * A window manager/DE to use your distro as a daily driver
+ * A display server/protocol to render the WM or DE
+ * A browser
+ * An audio server
+ * An init system, service manager and journal
+
+ You can write a script to automate packaging. As packaging is slow, this is recommended
+
+
Wayland or X11/Xorg
++ Wayland is the way to the future, if you want your distro to live, use Wayland, less things to maintain.
+ Fun fact about Xorg: Most of the people working on X11/Xorg have moved to Wayland, thus making X11/Xorg older and older, and less usable by each day.
+ But what about Nvidia users?
+ Don't worry, Wayland is much better than it was a couple of months ago, and soon, nvk will make noveau usable (i presume) again.
+
+
Configuring the Kernel
++ Do note that your configuration will take a long time to compile, since it must be broad.
+ What you should do is set everything to yes, or modules and then modify as needed
+