Garuda Suckless: My view

Hello there! I heard some complains about Garuda editions using only systemd as their init system, using too much RAM and overall being bloated. That's why I want to share what I view as a minimalist Garuda. This might turn into my first serious project, or at least a good concept.
First of all, what does it mean to suck less? In relation to software, it means to be simpler. In unique way. Mainly, in development. It's hard to put everything about suckless programs that I (and many others) like, but generally it's the convenience of using them once you learn how to. More about suckless software In general, programs that suck less tend to:

  • Be fast
  • Be privacy-respecting
  • Prefer quality and simplicity of code over quantity of code (therefore, they are minimalist)

Remember, I haven't said that this software is "easy to use" for an average user. Usually, programs that suck less don't have a GUI, or have a really basic one, and most of the configuration is done in config files rather then on a separate section in the GUI.
That's why this edition of Garuda is so special - it's not for inexperienced users, it's for those who want something small, fast, and configurable.
I will update this thread as soon as I learn about new software that should be included alongside or instead of mentioned below, so feel free to suggest even smaller software.
The main thought is to make Artix-based distro with some tools from Alpine Linux and other tiny distros.

  1. Kernel
    I think that you should pick your own kernel for your situation, so it's the discussion about what to include in the ISO.
    It's hard to decide what Linux kernel will perfectly fit for most users. There are a some options that I would like to try:
  • Lts kernels (stability and broad hardware support)
  • Custom kernels from other minimalist distros like tinycore, Alpine Linux, etc. (potential problems with hardware)
  • Just a responsive kernel like linux rt, linux-tkg, linux-zen etc. (known hardware issues, but great performance when you are lucky enough to not have any problems).
  1. Default init system
    As of now, I think I will choose Runit. It's small and lets you boot really fast even on HDD. Alternatives include OpenRc and s6.
  2. Default packages
    This is where I need more investigation as of now, but still can name a few important packages:
    -rEFInd as bootloader (less then 4 mbytes, but still does the job)
    -dash as default shell
    -doas as sudo replacement
    -tmux for terminal multiplexing (later about that)
    -micro as default text editor
    -elinks-git as browser (in case you need arch/gentoo wiki during install)
    -libressl-git as replacement for openssl
    -rufus or openrc or s6
    -zathura as a document viewer
    -busybox instead of GNU core utils
  3. Installation
    When you boot your live image, my small shell script greets you with a request to input "micro garuda_manual.txt" in order for you to receive all of the needed instructions. Using tmux mentioned above you can split your terminal in order to make installation process more comfy. I might also make a TUI using termbox library, in case it is not enough. Overall, it's just what wasn't enough for perfect arch/artix linux installation.
What kernel(s) should Garuda suckless live use?
  • linux-lts (default mainline)
  • linux-tkg
  • linux-zen
  • linux-xanmod
  • linux-rt
  • Alpine kernel
  • Tiny Core kernel
  • Other custom kernel (suggest below)
  • My own custom kernel (another week for development, lol)
  • All of them (give user the choice)

0 voters

What init system should Garuda Suckless live use?
  • Rufus
  • OpenRc
  • s6
  • Other (not systemd)
  • All of them (give user the choice)

0 voters

4 Likes

My 0,02 $.
Just fork and build.
Or give PR.

tl-dr-red

1 Like

What you mean by that? I’m a little confused.

Yeah, that’s what will happen this summer. Can’t wait to do it

2 Likes

A pull request in gitlab.

What I have skimmed has already been discussed in detail in the team and the way it is now seems to be the best solution.

As always, you cant make everybody happy :wink:

2 Likes

I think should use dwm or awesomewm.

1 Like

The only reason I said zen instead of lts in case someone has a new computer that lts doesn't work with lts. Otherwise I almost exclusively use the lts.

2 Likes

This is not necessary and will only damage the freedom of choice. In the manual I will recommend these, but including them in the iso will certainly be overkill. The simpler the better

1 Like

I think there should be (optonal) theme / settings packages to install.

Another day to implement, and it still doesn't really fit. I guess if you want to you can inject resources in the iso yourself, if you need to. Btw, that will be a good page for the wiki/manual

2 Likes

I do like the TUI installer though which gave me an idea. What if we take the archlabs approach where you can (optionally) choose a DE in the installer.

1 Like

Your idea is not really thought out unfortunately. To use runit, openrc, or s6 and satisfy the purists you need to rebuild every package that uses systemd that is a lot of work to achieve is it not.
Don't get me wrong I use Artix, but as it uses shims it is not systend free, i have also used Void, and Arch based Obarun that is systemd free they are a lot of work to maintain needing their own repros and continually rebuilding packages on a daily basis.
It really is better to use a fixed release in the long run and for stability, I would also consider if you want Arch based to look at Artix as a base, that is not putting this exellent Garuda down in any way Garuda is its own why try to compromise it. Manjaro had big problems trying to support Openrc

4 Likes

Yep, that’s exactly what I said.

I know that this will require a lot of work, and I know that I need to put more thought into it. That’s why I will take my time with this and plan everything accordingly. This is only a raw concept and as I mentioned, I will rewrite some parts and plans.

Probably it will be as other Garuda releases - rolling in the end, but new features in the newer releases.

1 Like

I was wrong you are putting thought into it. But why not talk this over on the Artix forum we don't bite over their.
Plus good luck I hope all goes well for you.

5 Likes

What's the point of garuda without the desktop, xorg and the kernel it's not even garuda anymore /rant

2 Likes

yeah, but I’m still not sure what exactly do I need to ask there. “Will you help me with something?” “Can I get your permission?”. Or just announce it and get some hate for advertising? I don’t know what to say to them yet, anyway.

Well, Garuda is what people make from it, not what you see in it. It will still be as much user-friendly as possible, without sacrificing the simplicity of code.

I would talk to Artoo he is the lead dev he is a nice guy ask if you can use the repros i'm sure you don't have to but its just polite to do so. i'm almost sure you could volunteer to help the project, and this one as well as long as you acknowledge them with your work the same goes for Garuda that way we could have the best of both worlds init wise. I recomment runit by the way so simple and fast.

3 Likes

Well, after the main iso I might work on some things like this. But still, I will choose only the smallest ones that I find

I am not quite sure how it’s implemented in Archlabs, but I still think that I will be focusing on the documentation for the CLI installation rather then creating a separate installer. It’s just simpler.

1 Like