A detailed explanation of my system
This was inspired by this thread over at r/unixporn.
Just plain UEFI. I would use BIOS legacy, but this machine started when I didn’t know the ups and downs of the two (Man, Ubuntu is a great distro), and now I have a GPT partition table.
I use GNU GRUB2. I used to use systemd-boot on Arch Linux, but I eventually developed a hate for systemd. I do not use grub-mkconfig as I don’t find it useful. It generates configurations that work but are overcomplicated.
I run a vanilla Linux kernel straight from kernel.org, and I tend to add some name to the end of it every time I compile. I used to use linux-ck, and then linux-pf, but I eventually just found that they really weren’t doing anything for the tasks I perform.
I also do not use an initramfs. An initramfs is just something which I see as unneeded for most systems, but also present on most systems. I just never had a need.
My kernel is slimmed down enough that GRUB to tty1 usually only takes around 1–2 seconds. Not the best I could do, but respectable.
I use ext4. I’d rather not use an experimental filesystem like btrfs due to the fact that I’m putting my files in trust of the filesystem. I also just haven’t had a need for anything else. Btrfs is not quite ready for primetime yet. When it matures, I’ll try it, yeah, but not quite yet.
I use CRUX currently. I’ve previously used Ubuntu, Arch, Gentoo, Debian, and Void. The reasons why I like CRUX over those are:
- CRUX is systemd-free. Ubuntu (as of 15.04) and Arch use systemd. I don’t like systemd for the sole reason in that it does a lot of things which I just won’t find myself using, and that makes me worried about how the developers manage all those. It makes me begin to think whether they’re doing them halfassedly or not.
- CRUX’s package management is similar to BSD’s ports, and CRUX’s init system is similar to BSD’s. I love BSD and want to use it, but my laptop’s wireless card is not supported on BSD (at least OpenBSD), so I don’t. While Arch has a ports system, it’s not primary. While Gentoo has a ports system, it’s a very different beast from CRUX’s.
- CRUX’s base doesn’t contain things I deem unnecessary for most systems.
I use sysvinit with CRUX’s rc scripts, merely because I never found a reason for needing anything else.
I use pkgutils most of the time, and use prt-get for system upgrades. I tend to avoid prt-get as oftentimes I don’t agree with the decisions made for some packages, so I tweak the compile options in the Pkgfile. prt-get unfortunately doesn’t have an “Edit Pkgfile?” type thing (a la most AUR helpers), so I just avoid it. This also lets me keep dependencies which I don’t want out of my userland.
Again, I don’t use a ton of things which I don’t think I need. Namely:
These aren’t bad pieces of software (well, except maybe ConsoleKit). I just don’t need them, so I don’t use them.
I just use a tty with getty. I can fuck around in the shell if I feel like doing some l33t h4xx0r work in front of people IRL, or just type startx and do actual shit.
I’m currently using fish. However, I’m constantly tempted to go back to mksh, but I love fish’s scripting syntax. Yes, it’s not POSIX. However, it’s a lot cleaner than POSIX scripts. The syntax highlighting and removal of pointless aliases (in favor of functions) is also nice.
I run Xorg. I’m interested to see how Wayland matures, but it’s just not there yet; it puts far too much power into the compositor. That’s a whole other story, though. Not much to say here.
I use Openbox. I used to use wmutils and loved it, but lack of ICCCM and EWMH compliance killed it for me. Openbox works fine for my needs.
Other things I use for more complex window management are:
- compton (because it looks purty)
- A whole lot of scripts
- boxcutter (Because WHY ON EARTH does Openbox use XML for its configuration file?)
- A basic notification system using lemonbar
I just use dmenu2 for some commands, and for more simple tasks I put my most used applications in my right-click menu. I also have Super+Enter binded to open termite, mainly because CLI applications are what I use most of the time.
Text editor: vim
System monitor: htop
Music: mpd and ncmpcpp, as well as some keys
Pics or it didn’t happen
Yeah, those are kinda important, right?