all repos — site @ a3252db9fa2c46d985ee6b7bf66d86bed0f5871a

source for my site, found at icyphox.sh

pages/blog/kiss-zen.md (view raw)

  1---
  2template:
  3slug: kiss-zen
  4title: The Zen of KISS Linux
  5subtitle: My thoughts on the distro, the philosophy and my experience in general
  6date: 2020-04-03
  7---
  8
  9[I installed KISS](/blog/five-days-tty) early in January on my main
 10machine -- an HP Envy 13 (2017), and I have since noticed a lot of changes
 11in my workflow, my approach to software (and its development), and in
 12life as a whole. I wouldn't call KISS "life changing", as that would be
 13overly dramatic, but it has definitely reshaped my outlook towards
 14technology -- for better or worse.
 15
 16When I talk about KISS to people -- online or IRL -- I get some pretty
 17interesting reactions and comments.[^bringing-up-kiss] 
 18Ranging from "Oh cool." to "You must be
 19retarded.", I've heard it all. A classic and a personal favourite of
 20mine, "I don't use meme distros because I actually get work done." It is
 21actually, quite the opposite -- I've been so much more productive using
 22KISS than any other operating system. I'll explain why shortly.
 23
 24[^bringing-up-kiss]: No, I don't go "I use KISS btw". I don't bring it
 25    up unless provoked.
 26
 27The beauty of this "distro", is it isn't much of a distribution at all.
 28There is no big team, no mailing lists, no infrastructure. The entire
 29setup is so loose, and this makes it very convenient to swap things out
 30for alternatives. The main (and potentially community) repos all reside
 31locally on your system. In the event that Dylan decides to call it
 32quits and switches to Windows, we can simply just bump versions
 33ourselves, locally! The [KISS Guidestones](https://k1ss.org/guidestones)
 34document is a good read.
 35
 36In the subseqent paragraphs, I've laid out the different things about
 37KISS that stand out to me, and make using the system a lot more
 38enjoyable.
 39
 40## the package system
 41
 42Packaging for KISS has been delightful, to say the least. It takes me
 43about 2 mins to write and publish a new package. Here's the `radare2`
 44package, which I maintain, for example.
 45
 46The `build` file (executable):
 47
 48```sh
 49#!/bin/sh -e
 50
 51./configure \
 52    --prefix=/usr
 53
 54make
 55make DESTDIR="$1" install
 56```
 57
 58The `version` file:
 59```
 604.3.1 1
 61```
 62
 63The `checksums` file (generated using `kiss checksum radare2`):
 64```
 654abcb9c9dff24eab44d64d392e115ae774ab1ad90d04f2c983d96d7d7f9476aa  4.3.1.tar.gz
 66```
 67
 68And finally, the `sources` file:
 69```
 70https://github.com/radareorg/radare2/archive/4.3.1.tar.gz
 71```
 72
 73This is literally the bare minimum that you need to define a package.
 74There's also the `depends` file where you specify the dependencies for
 75your package.
 76`kiss` also generates a `manifests` file to track all the files and
 77directories that your package creates during installation, for their
 78removal, if and when that occurs. Now compare this process with any
 79other distribution's.
 80
 81## the community
 82
 83As far as I know, it mostly consists of the `#kisslinux` channel on
 84Freenode and the [r/kisslinux](https://old.reddit.com/r/kisslinux)
 85subreddit. It's not that big, but it's suprisingly active, and super
 86helpful. There have been some interested new KISS-related projects
 87too: [kiss-games](https://github.com/sdsddsd1/kiss-games) -- a repository
 88for, well, Linux games; [kiss-ppc64le](https://github.com/jedavies-dev/kiss-ppc64le)
 89and [kiss-aarch64](https://github.com/jedavies-dev/kiss-aarch64) -- KISS
 90Linux ports for PowerPC and ARM64 architectures; 
 91[wyvertux](https://github.com/wyvertux/wyvertux) -- an attempt at
 92a GNU-free Linux distribution, using KISS as a base; and tons more.
 93
 94## the philosophy
 95
 96Software today is far too complex. And its complexity is only growing.
 97Some might argue that this is inevitable, and it is in fact progress.
 98I disagree. Blindly adding layers and layers of abstraction (Docker,
 99modern web "apps") isn't progress. Look at the Linux desktop ecosystem
100today, for example -- monstrosities like GNOME and KDE are a result of
101this...new wave software engineering.
102
103I see KISS as a symbol of defiance against this malformed notion. You
104don't _need_ all the bloat these DEs ship with to have a usable system.
105Agreed, it's a bit more effort to get up and running, but it is entirely
106worth it. Think of it as a clean table -- feels good to sit down and work on,
107doesn't it? 
108
109Let's take my own experience, for example. One of the initial few
110software I used to install on a new system was `dunst` -- a notification
111daemon. Unfortunately, it depends on D-Bus, which is Poetterware; ergo,
112not on KISS. However, using a system without notifications has been very
113pleasant. Nothing to distract you while you're in the zone.
114
115Another instance, again involving D-Bus (or not), is Bluetooth audio. As
116it happens, my laptop's 3.5mm jack is rekt, and I need to use Bluetooth
117for audio, if at all. Sadly, Bluetooth audio on Linux hard-depends on
118D-Bus. Bluetooth stacks that don't rely on D-Bus do exist, like on Android, 
119but porting them over to desktop is non-trivial. However, I used this to
120my advantage and decided not to consume media on my laptop. This has
121drastically boosted my productivity, since I literally cannot watch
122YouTube even if I wanted to. My laptop is now strictly work-only.
123If I do need to watch the occasional video / listen to music, I use my
124phone. Compartmentalizing work and play to separate devices has worked
125out pretty well for me.
126
127I'm slowly noticing myself favor low-tech (or no-tech) solutions to
128simple problems too. Like notetaking -- I've tried plaintext files, Vim
129Wiki, Markdown, but nothing beats actually using pen and paper. Tech,
130from what I can see, doesn't solve problems very effectively. In some
131cases, it only causes more of them. I might write another post
132discussing my thoughts on this in further detail. 
133
134I'm not sure what I intended this post to be, but I'm pretty happy with
135the mindspill. To conclude this already long monologue, let me clarify
136one little thing y'all are probably thinking, "Okay man, are you
137suggesting that we regress to the Dark Ages?". No, I'm not suggesting
138that we regress, but rather, progress mindfully.