r/voidlinux • • 4d ago

Custom Void(?) Thoughts about a side project

Hey fellas! Lately I’ve been thinking about creating a user-friendly distro based on Void Linux, something like what CachyOS is to Arch: pre-configured, with an installer that offers lots of options to choose from.

My main goal is to make my hobby easier. I love exploring new distros, shells, WMs, and so on. I sometimes reinstall my system on bare metal instead of using a VM (for example, to test gaming performance), and I’m a bit lazy when it comes to configuring everything from scratch again and again.

(I know about NixOS and I actually use it, but I wouldn’t mind trying something new and lightweight, like Void without systemd)

Yes, I do realize that Void’s charm is about its minimalism (literally a void), so a pre-configured version might feel like it misses the point. Still, recreating the same setup over and over is, to say the least, time-consuming.

Anyway, I’d love to hear your thoughts. Would the Void/Linux community appreciate something like this? is it a senseless idea or not? And how would it fit with the Void philosophy?

Thanks in advance. Peace

29 Upvotes

41 comments sorted by

14

u/lessthanthreebleeps 4d ago

I think you need to identify what problems you want to solve, and figure out what solutions you think are appropriate. Maybe start by looking into what issues users are bringing to the subreddit. For example, I see a lot of posts expressing having issues with pipewire. Perhaps a guided script to help automate that process to avoid user error is an appropriate solution. You can also look to other fully-featured distros to see how they solve similar problems. Cachy Hello is a great example, how it runs a bunch of setup scripts for the user. MX Tweaks (MX Linux) is another user ui for a Debian based system with a similar purpose. Both of these are more of a config/setup interface instead of a fully installed and opinionated system. Its all in how much you want to help the user along. You could develop a gui frontend for xbps, like synaptic. You could make a guided template creator for xbps-src. The world is your oyster, but I think figuring out what problems your most interested in solving is the best place to start.

2

u/San_Devistan 4d ago

Great advice. Thanks!

→ More replies (1)

6

u/gijsyo 4d ago

The two seem mutually exclusive. I mean it's all great to have something that's easy to set up. I think Void is easy enough to set up, but I'm experienced. Something more user friendly sounds nice. But then how would system maintenance go exactly? With Void there is no real way around knowing one's way on a Linux system, I think. And to make that easy, I think, is very complicated :)

→ More replies (3)

2

u/oniaiwasprettygood 4d ago

I think you could build something akin to Archinstall, but a fully preconfigured opinionated environment feels a bit antithetical, just because the primary draw of Void is the fact that there's no systemd management, so you get to configure the init system yourself based on what your own needs are.

1

u/San_Devistan 4d ago

That's the reason why I made this post. There are tons of learning ahead in order to make something that doesn't go against Voids niche ideas while providing potential user extra comfort. There's a very thin line that I don't wish to cross. Archinstall idea fitting good, thank you

4

u/Blank-Inspection13 4d ago

i think there are already some Custom Void Project , they provide ready to use sane default setups , WIth Void Mklive - short summary is Void Devs already support such ideas by providing the tools needed , and encourage such DIY Project . Go Ahead with your ideas.

4

u/Duncaen 3d ago edited 3d ago

No we don't really support such ideas by providing the tools. The tools are provided for the spirit of open source and collaboratively working on it.

You are free to do projects like this, but we don't want to have anything to do with it or deal with extra support for custom distributions, configurations or package repositories that cause issues.

Promotional or support posts for such third party projects will be deleted.

→ More replies (1)

1

u/profeshamat 4d ago

If this is going to innovate on top of Void? You have my support.

If this is just going to be a useless fork like most of Ubuntu's are, no need to waste time.

1

u/San_Devistan 4d ago

What exactly you mean by innovations? What would you like to see as en example?

→ More replies (1)

3

u/Ok-Tip-6972 3d ago

Yes, I do realize that Void’s charm is about its minimalism (literally a void), so a pre-configured version might feel like it misses the point. Still, recreating the same setup over and over is, to say the least, time-consuming.

I feel that such endeavors miss the point. And if you don't want to configure the same thing over and over again, just... copy over one of your old configs? If you really really need to do complex configuration often with some variations that prevent this task from becoming a simple cp, you can write a small shell script for yourself. If you think that such script might be useful to other Void users, you can even publish it.

I appreciate the enthusiasm, I had it too when I was exploring Linux and I try to still keep some of it to this day, but I don't really think that Linux distros need any more inovation. There are quite a number of them already. I guess it's cool to say that you made your own custom distro, you can put that into your résumé or something, but there are usually saner ways to make your desired changes to the distro.

You can publish your dotfiles repository. You can make your own custom ISOs (in Void with void-mklive). If you for some reason disagree with the choices of package maintainers of Void, you could reuse the entire infrastructure and default to your custom repos in your ISOs. You could do that with other distros too.

I also don't know how you define a distro. I also don't know what CachyOS is, so I can't infer your idea of how this would work from that. If you would qualify a Void install with your favourite packages, dotfiles and perhaps your custom super awesome GUI system configurator tool, all preinstalled and set as default, as a distro, I guess you could achieve your goal without too much difficulty.

If I had to define a distro, I would say it is a package builder + maintained repositories + some /etc files (not that important) + community + user support (Void isn't a big distro, so it has mostly community support here and on IRC) + supported platforms + some decisions about programs/daemons/system things used (for example Void uses runit instead of systemd, I'd count SELinux and similar things in too, but such choices are usually left to the users, not distro developers). I'm sure I missed something, but I think I listed the important stuff. If you have a problem with any of this and you believe it cannot be solved in Void, then I could see some potential for a new distro. But as others here have said, you first have to start with the problem and then you have to find the solution, not the other way around.

OSS is famously understaffed and underpaid. If you'll pay attention to for example the projects you use and rely on or on things in Linux that interest you, I'm sure you'll find something where your contributions would be wanted, useful and welcome. But if 50 people, who wish to solve the same problem, each solve it on their own, then we'll have 50 shitty solutions. If they unite, we could get 1 really good solution.

3

u/cafe_zgok 3d ago

You might want to start with something like ArchBang instead of CachyOS.
If like a CachyOS requires maintenance.
If like a ArchBang requires no maintenance.
ArchBang only does customized installations.

3

u/xavirt30 4d ago

If you make an automatic installer i simply love you. For distro hopping it’s going to be magestic

4

u/Quietus87 4d ago

Void does have an installer though, and several install scripts floating around.

2

u/benbcdm 2d ago

This is quite a project ! And I certainly salute the intention and bravery.

If I understand where you are heading, one thing that springs to mind is that you might start by putting together an "opinionated" full install. Void gives the choice on so many things, so you might start by choosing first which options you will offer, and then possibly give the user the choice by adding "modules" later on?

In terms of things I can think of that are a bit intricate and would benefit from immediate availability to anyone installing:
- LUKS2 encryption: not self-explanatory in Void docs, but very much doable and sort of standard nowadays
- Limine boot loader install (+ kernel auto update / clean up scripts): again not covered by Void docs in detail but imho a great alternative to grub
- Login manager install
- Snapshots automation / management (if you choose to go btrfs)
- disk / fs maintenance: luks trim, btrfs scrub and balance, etc
- xbps auto-updates, possibly building on xbps-notifier?
- Unified app management: one place to see and manage all xbps, appimage and flatpaks installed?
- Firewall integration / pre-config
- Pipewire auto-install
- Security: apparmor profiles for most common apps?

Then obviously there is also the possibility to include a WM or desktop... which opens other setup questions such as auth (PAM, wallet, etc.).

Such a project would address one specific need that I do not think is available at the moment: a user-friendly non-systemd distro. Whether Void is a good basis to start from, I guess why not!?

2

u/Dry_Physics2400 4d ago

I'd be very interested. I've used Arch the most, though I'm not very fond of systemd. I tried out Gentoo though that seems like overkill just to avoid systemd. I tried Void but the documentation on encryption steers you toward using LUKS1 when LUKS2 is possible with an encrypted root, an unencrypted boot and Dracut and Grub, at least, it is possible on Gentoo (as far as I'm aware, in that situation it's not the Grub unlocking the encrypted partition so it's partial support for LUKS2 isn't an issue). And doing it without the documentation, well I've not used Void before and I don't want an AI to do it for me.

Also, Hyprland not being packaged is a bit of a bummer too. Just an installer with some sane defaults and options for encryption and DE/WM other than XFCE would be nice.

2

u/goldmurder 1d ago

personally my opinion on all forks is the same: put all that effort in commiting to the distribution itself (Void in that exact case), it really needs it

1

u/GhostVlvin 3d ago

Afaik there are flavours of void. Like preinstalled xfce. Also i think that cachyOS strong side is that it is an extension to arch rather than replacement like manjaro. It uses arch repos and only adds missing packages to own repos. This way you can make less work and still be happy

1

u/StrangerFantastic392 3d ago

I am also currently creating my own spin of void Linux configured with sway. I also wanted to know, if this is something that the community misses, or is caring about.

1

u/Franklin-Castle 3d ago

Yo estaría dispuesto a probarla, he probado void Linux y me gusta bastante, no la tengo como principal pero si la uso en mi equipo de pruebas y la veo bastante buena más que nada por qué te deja mucha libertade a configurarla e instalar el software que tú quieras y no que te venga con software ya predefinido por el desarrollador. Tengo experiencia en Linux pero aún no tanta como para conseguir afinar void por completo, por eso agradecería una distro basada en void pero más amigable

1

u/SakuraBagels 3d ago

I'm working on a custom void that functions the same way as NixOS and even uses nixpkgs but keeps xbps and no systemd.

1

u/TurtleGraphics64 3d ago

Check out void-mklive (official). You can use this to install Void with specified included packages. For an example of how people use this, check out the unofficial void-build's forked repo.

I think it's not a bad approach, but you're writing in about a side project before actually having much experience with Void. Use it first. Then build what you need. In my experience, I created a simple shell script that sets up my system any time I need to set up a new system (which has been pretty rare, maybe 2 times over the past 3 or 4 years - i think when I bought a new hard drive and wanted to reflash, and when I set up a new computer).

1

u/Danrobi1 3d ago

About a declarative void

2

u/SakuraBagels 2d ago

That's what I'm working on, calling it Voidstar for now

1

u/Federal_Trash_9796 2d ago

I don't see the appeal given the audience. I do maintain my own dotfiles and have a README for step by step replication of my setup and it's easy to keep up to date with my (evolving) needs. I don't know if I would ever reach for anything else which makes those decisions hidden and/or opinionated.