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