16 ms·
Kiss Linux – A distribution with a focus on less is more
- airbreather 6y agoWell all I can say is grandma won't be installing kiss any time soon, looking at the instructions.
- mszcz 6y agoThey sure did keep it simple /s ;)
- sildur 6y agoGrandma programmed in COBOL (https://timeline.com/women-pioneered-computer-programming-then-men-took-their-industry-over-c2959b822523 https://timeline.com/women-pioneered-computer-programming-th...) and lisp (https://www.gnu.org/gnu/rms-lisp.html https://www.gnu.org/gnu/rms-lisp.html). Don’t be so condescending.
- spacephysics 6y agoStraight to the tribal, political realm. What do you expect to change? Should we say “Grandpa” instead? Should we try to include the experiences of everyone to a point where common sayings or one off phrases must be dissected for malicious intent? Come on
- tluyben2 6y agoThe reason why I must die lies in music and long toes; I simply do not comprehend many people anymore in these areas. When I was young, and yes, this is a while ago, we had real men and real women and I do understand that was way too binary but the pussyfooting around everything really goes way too far. That is me and as such I have to go before I do not understand anything anymore. I cannot believe people who want to be immortal will not go clinically insane by the weirdness that they see, decade after decade.
- throwaway8941 6y agoYou can always move to a more conservative society. I live right on the other side of the globe and look at what's happening in the US with its fifty genders and SJW harassment for using the word "he" as pure lunacy. There are other, much more serious problems over here, of course.
- tluyben2 6y agoI live in Portugal (moved from Spain) and yes, that is true on both counts. I find it difficult to live with people who get upset over everything though. I would would say 'grow a pair' but that would not be correct... My grandfather says 'if you survived through a real war you would not care about this crap', but that would not be correct (and I think that's a bit over the top, but he survived 2 world wars)...
- deleted 6y ago[deleted]
- encom 6y agoSo this is basically Gentoo with precompiled packages.
- joshuareed 6y agoEverything is compiled from source with exception to Firefox. Dylan provides optional binaries for it.
- wchar_t 6y agoThe package manager is much simpler than Gentoo's.
- ai_ja_nai 6y agoGroan. Yet another distribution that fragments the scene with custom everything.
- sildur 6y agoYes, we finally were just about to get Linux on the desktop just the next year, and this distribution ruined everything. Now we will have to wait until 2022 to get Linux on the desktop. Curses!
- efiecho 6y agoThe more systemd free alternatives, the better.
- aganame 6y agoAgreed. There should be one for every user.
- miguelmota 6y agoCurious, what alternative do you use and why? I'm just trying to understand the dislike for systemd
- efiecho 6y agoDepends on the distro but mostly OpenRC, SysVinit and Runit. I find that every one of them is better than systemd. The design philosophy of systemd also goes against everything I stand for.
- ggm 6y agoGene Simmons ./tongue -s
- speedgoose 6y agoCan you run Docker and systemd on it?
- Icyphox 6y agoPossibly. If they don't rely on glibc, since KISS uses musl. Besides, why would you? They go against the fundamentals KISS.
- thecureforzits 6y ago> Besides, why would you? Turns out less is indeed less.
- temptemptemp111 6y agoCould be cool, but isn't Wayland less bloated than Xorg?
- danielscrubs 6y agoI loved the idea (git everything!) until I read this: "How do I remove a package and all of its dependencies? [...] The package manager does not do recursive dependency removal on removal of a package. This error-prone automation will not be added to the package manager. "
- pampa 6y agoThis might seem like a limitation. But you can provide a base system with a toolchain & xorg with known dependencies and a limited set of packages (like a BSD base system). Then for every big and complex app clone that base system and build the app in a chroot/sandbox or container. That way you get the app and dont pollute the base system and uninstalling is just rm -rf On every distro uninstalling packages never really reverts the system to its previous state, always leaves some junk behind.
- stargaz3r 6y ago>On every distro uninstalling packages never really reverts the system to its previous state, always leaves some junk behind. That's not true at all. See Nix package manager (and NixOS the distro).
- pampa 6y agonix is more like installing every package in its own chroot, with a few optimizations. not your starnard linux package manager
- danieldk 6y agoThat's too much of a simplification. In NixOS you still have global configuration files, such as /etc/fstab. However, they are symlinks to Nix store paths that are associated with the current generation. $ realpath /etc/fstab /nix/store/06k708q78zxw8922rrrc8mmp5gbin4am-etc-fstab However, NixOS installations can also end up accumulating configuration and state files that stick around when they are not defined declaratively. E.g. if you enable ssh, host keys are generated in /etc/ssh. Even if you disable ssh, these files will stick around. You can avoid such accidental state [1], since NixOS will happily boot from a filesystem with just /boot and /nix and reconstruct the rest upon system activation. But it is quite a bit of work, since you need to manually specify what state you want to preserve (e.g. SSH host key files). Also, it currently does not work nicely with some systemd units that barf out if you make /var/run entries symlinks. [1] https://grahamc.com/blog/erase-your-darlings https://grahamc.com/blog/erase-your-darlings
- louisch 6y agoI do appreciate how they don't even have a backend for the website (though saying that, I'm not sure why most Linux distributions would require a full backend for their website)
- bauerd 6y agoIt's an operating system distribution... why bother with how its documentation is served
- avhon1 6y agoBecause it reflects how the writers solve problems. They needed a website. Did they spin up a docker container of wordpress, install a theme and some plugins until it looked the way they wanted, and write content in an in-browser WYSIWYG editor? Or did they write their content as HTML, and copy it to a server running HTTPD? Those two solutions represent different values, different philosophies, about how to use computers. It is good to see that the author's website-building approach is consistent with their operating-system-building approach. It lends credibility to the sincerity of the project.
- bauerd 6y agoNo, it primarily reflects the problems. For example, the Gentoo and Arch Linux run MediaWiki. Does this tell you something about their "values or philosophies about how to use computers"? No, a static site generator would simply not be practical for either project. What renders documentation HTML in the background tells nothing about either project's approach to operating system development.
- Kototama 6y ago> Uses a package manager written in less than 1000 lines of POSIX sh (excluding blank lines and comments). Enough to get 20 bugs :-). I wish there was a good standard alternative to bash (sh in this case) for shell programming. Otherwise I like the spirit, it's a good match with collapse os ;-)
- pampa 6y ago> I wish there was a good standard alternative to bash (sh in this case) for shell programming. There is perl! :)
- tarruda 6y agoFor quite some time I've been using https://github.com/tarruda/python-ush https://github.com/tarruda/python-ush on personal scripts and it is working very well. If you like python, I recommend giving it a try :)
- deleted 6y ago[deleted]
- rwnspace 6y agoCould you explain more re: bugs? Dylan Araps sort of specialises in well-written (ba)sh and iirc uses shellcheck meticulously. I ask not to be combative in case you're just making a casual joke - more I'd like understand how bugs might creep in to (ba)sh code - even if say, one follows shellcheck and is as competent as Dylan.
- Kototama 6y agoI saw that after posting. It's not a critic of Dylan's work, more a critic of how difficult it is to write good bash code. Your comment on shellcheck and Dylan expertise just confirm it. It's like C, you could write safe C but it's very difficult. I wish there was a language with the ubiquity of Bash but modern and safe.
- 6y ago
- deleted 6y ago[deleted]
- sergeykish 6y agoFirefox ALSA backend is no longer supported [0], disabled by default (--enable-alsa), not deprecated yet [1]. Need to fix while we can. Hope you enabled Telemetry [2], bonus - it produces nice graphs [3]. [0] https://bugzilla.mozilla.org/show_bug.cgi?id=1345661 https://bugzilla.mozilla.org/show_bug.cgi?id=1345661 [1] https://github.com/kinetiknz/cubeb/wiki/Backend-Support https://github.com/kinetiknz/cubeb/wiki/Backend-Support [2] about:telemetry [3] https://data.firefox.com/ https://data.firefox.com/
- UI_at_80x24 6y agoI applaud your efforts, and am happy to see more options available. I really hope this takes off. Your choice to not include systemd is a HUGE incentive for me to try this out. 1 super-small nit to pick: the sub-title "..a focus on less is more.." I took that way too literally and thought it was referencing the tool `less` and was expecting it to have used less as a wrapper for everything. (call it a brain fart, and lack of caffeine) I FUCKING LOVE YOUR WEB PAGE. Thank-you so fucking much for reminding people and showing that simple is beautiful. Everything is clear, obvious and legible.
- _n_b_ 6y agoOn most systems these days, 'less' is more: % cksum `which less` `which more` 2677110273 146976 /usr/bin/less 2677110273 146976 /usr/bin/more
- snazz 6y agoI think that more is symlinked to less on your system, not the other way around. On my machine (Arch), they're separate: jack@jackdesktop ~ [1]> bash -c "cksum `which less` `which more`" 3407085100 179664 /usr/bin/less 110370394 38816 /usr/bin/more jack@jackdesktop ~>
- _n_b_ 6y agoOK, now you've prompted me to do proper research: Not a symlink (or even a hard link) on my OS X laptop, but the same executable. On my OpenBSD systems, they're hard links. On my Ubuntu system, they're separate.
- snazz 6y agoInteresting! I wonder what the historical reason is for all of those different permutations.
- letientai299 6y ago* Based on musl libc, busybox and the Linux kernel. As some one who is working on Go ecosystem, this drops my interesting immediately. Using musl libs means a lot of tools can't be used on this OS unless we install the glibc.
- qhwudbebd 6y agoAre there problems with go on musl, then? Not a heavy go user but I’m sure I’ve built a working go setup fairly painlessly on musl VM before. (Maybe it’s a recent problem or perhaps I’m misremembering and I did something horrid like pulling in glibc too, but I don’t think I did?)
- qhwudbebd 6y agoBeing unsure of my recollection, I've just bootstrapped and installed the most recent go 1.14.3 release on a pure musl x86_64 chroot. Everything I can think of to test so far is working impeccably.
- efiecho 6y agoIn the past I have developed in Go on musl systems without problems, so unless something has changed, this should still not be a problem at all.
- techntoke 6y agoWebsite looks terrible, practically unreadable on mobile. Black and red don't go well together either.
- arghwhat 6y ago1000 lines of shell is about 900 lines too many for "simple".
- js4 6y agoThis
- jedahan 6y agoCompared to any other package manager source I've dug into, I haven't found simpler.
- arghwhat 6y agoIf you're comparing line counts remember that this one is vastly incomplete in comparison.
- norswap 6y agoAs opposed to? This just sounds like dumb shell hate. I personally would have used another language, but shell ain't that hard if you have some experience with it, and are using shellcheck as the author does. The config formats of the distro are optimized for command line tools, and writing the package manager in shell seems like a good way to ensure that this is indeed the case - basic dogfooding.
- arghwhat 6y agoAs opposed to programming languages with constructs that allow proper code hygiene. That implies an actual type system, a usable standard library, etc. Shell is great for scripting usage of other programs, far better than other programming languages. That's what it's made for, after all. It's the only thing it's made for.
- nine_k 6y agoMy 2¢. (1) When I wanted simplicity and rolling releases / bleeding edge, I found Void Linux, which is indeed very minimal. It does proper package management, though, and can remove orphans. (2) An even more minimal Linux "distro" based on git and tup was discussed back in the day: https://news.ycombinator.com/item?id=16015105 https://news.ycombinator.com/item?id=16015105
- ghostpepper 6y agoVoid is a breath of fresh air for anyone who is fed up with the mission creep of systemd but it's also a great distribution in its own right. I'm not familiar enough with the internals of XBPS to compare it with apt or yum or pacman, but it seems to work quite well. I have also found the community around Void to be quite welcoming.
- pkulak 6y agoNo Wayland, but Xorg? How is that simple?
- avhon1 6y agoThere are lots of good, simple window managers (not to mention other utilities) for xorg. Window managers in wayland have a lot more work to do, and are typically more complicated. There are lots of utilities that aren't available in wayland yet, so you'll often end up with an x server installed anyway.
- fanatic2pope 6y agoNot using a GUI at all would be much simpler.
- msla 6y ago> Based on musl libc, busybox and the Linux kernel. Busybox is not KISS. It's an all-in-one package, removing the ability to strip down the number of tools you have to the ones you strictly need. It's a big, bloated binary blob, in other words. > Every installation of the distribution contains the full sources (of the distribution) with git history attached. This doesn't even pretend to be minimal.
- nrclark 6y agoThat's not strictly true about Busybox. You just need to recompile it to change what's included. You can absolutely enable/disable individual tools in the menuconfig.
- miguelmota 6y agoI’m not familiar with Kiss but it looks interesting; what’s the benefit of Kiss over something like Arch Linux which is already minimal?
- kleer001 6y ago... and/or any of the multitude of Arch install and setup scripts available like this one https://github.com/LukeSmithxyz/LARBS https://github.com/LukeSmithxyz/LARBS
- Icyphox 6y agoArch is far from minimal. It literally ships systemd, and all kernel options enabled. Not to mention glibc, and a shitton of other crap...
- II2II 6y agoWhile I agree that Arch is far from minimal, it is one of the distributions that encourage people to build their system up to meet their needs. This is a far cry from the attention grabbing desktop distributions that may or may not offer a server version that can be built upon (which I, perhaps unfairly, interpret as discouraging the build-up approach).
- LargoLasskhyfv 6y agoI disagree. That was true for a time, and i enjoyed it coming from NetBSD. But nowadays, if for any reason you don't want to use systemd, or have different opinions about partioning, e.g. limiting access and execution rights and usage for /var, /tmp you are in for an eternal uphill battle against the decisions of 'upstream' and therefore the 'community' which devoutly adheres to these. There are some derivatives addressing that, but at that point you can also say: "Forget it!"
- Foxboron 6y ago> [...] have different opinions about partioning, e.g. limiting access and execution rights and usage for /var, /tmp you are in for an eternal uphill battle against the decisions of 'upstream' and therefore the 'community' which devoutly adheres to these. There are some derivatives addressing that I'm curious about which use cases wasn't supported for you, why it was an uphill battle and which derivative addressed them. I don't quickly see what would give you issues at first glance.
- ogre_codes 6y agoBeen a while since I've used a Linux distro, let alone one that focused on being basic, but it feels like there is a lot of overlap with what Slackware was last time I used it. To me the whole point of "Simple" is to make the system comprehendible and Slackware did a very good job of that. (Or for that matter, given the functionality presented here, I think OpenBSD as well)
- carapace 6y agoMe, out loud: "Awwww! What cute site!" I am not ashamed. It's like a lil mini haiku OS (not to be confused with HaikuOS the open BeOS). - - - - Ooo! https://github.com/michaelforney/samurai https://github.com/michaelforney/samurai > samurai is a ninja-compatible build tool written in C99 with a focus on simplicity, speed, and portability.
- pjmlp 6y ago30 years ago, trying out the distribution of the month was kind of cool, nowadays they just contribute to the endless fragmentation of GNU/Linux ecosystem. I bet that during high time of UNIX wars no imagined it could get even worse.
- slezyr 6y agoNot this one. If you wonder what's the minimum you need in addition to linux kernel to start some WM this a great distro to check. It adds nothing to linux fragmentation.
- LargoLasskhyfv 6y agoI think of it as refreshing. That's the spirit! The 'ecosystem' you are speaking of reminds me of taxes, lawyers and judges, burying their victims under infinite amounts of stamped paper in triple copies, annotated, and ultimately annoying because of its bizarreness and kafkaesque absurdity. Time to burn it down. (quad-edit because lack of coffeine...(spelling))
- downerending 6y agoI can assure you that it's not worse. There are only two or three distributions that are credible at the corporate level, and they are far more similar than the major Unix wars platforms.
- II2II 6y agoAs long as people realize that virtually all of these distributions are experimental, either as a testbed for ideas that may find their way into mainstream distribution or on a slow path to adoption to become mainstream, the diversity is a good thing. It removes the shackles of compatability that hold most operating systems back. Unfortunately, the developers of many of these experimental distributions don't seem to acknowledge that they are experimental distributions ...
- bjourne 6y ago> The distribution targets only the x86-64 architecture and the English language. Deal breaker for me. But the author should be commended for stating it up front. Far to often, only the benefits are presented but none of the flaws so you have to investigate new tech deeply to find out if it is right for you.
- slezyr 6y agoSeriously? There's a link "Ports (non-x86-64)" in the side bar. https://k1ss.org/ports https://k1ss.org/ports
- LargoLasskhyfv 6y agoSorry, but to use the port for the PineBook pro on a RPI4, NanoPI, Odroid, Beaglebone, whichever ARM else YOU are the porter. Which may be simpler, because K1SS, but it isn't readily available...
- slezyr 6y agoWell, I have Radxa Rock(RK3188) and no distro supports it. With ARM "YOU are the porter" is right for many other distros, except some very popular boards. Even O-Droid's support vary between the boards.
- bjourne 6y agoThere is no reason for you to be snarky. I care about only English being officially supported. That is a non starter.
- downerending 6y agoUsername checks out. :-) Seriously, though, I'm curious how many people running Linux for dev or admin purposes really care about non-English i18n. Even just 'en_US' seems to cause regular problems for me.
- ChuckMcM 6y agoThis is brilliant. I also love the testimonials here: https://k1ss.org/testimonials https://k1ss.org/testimonials because they pretty much capture the entire Linux community of developers. But if you contextualize it a bit differently I think you might find it is super valuable. One of the challenges the Linux community has is that there are so many distributions or 'distros' to choose from. What is more, the feature sets of those distros form a non-planar non-directed graph of nodes for which it is very very difficult to reason about their feature content. Consider for the moment if you could reason about distros like you can reason about genomes. In modern genetics we can look at flora, fauna, bacteria, etc and talk about them as a base class "foo" with specific genetic changes that get them to be a "bar", we can talk about speciation where the genetics are different enough such that hybrids are infertile or impossible. This effort tries, and I think largely succeeds, in capturing the "minimum viable Linux system" (all up kernel + user land). It gives you a way to reason about two different distros like Ubuntu is Kiss plus (list of things) and for each item in the list of things, it has dependencies, recursively until you have completely described the genome of Ubuntu as a linear directed graph from Kiss. You could do the same thing for Fedora, or Mint, or any distro. Two such graphs could give you a complete list of differences to get from distro <a> to distro <b> and the simple algorithm of walk back (remove items) from <a>, then walk down the graph (add items) to <b> would always "work" because they all share a common ancestor node, Kiss. As a software developer you could reason about all of the changes to a distro you would need for your software to work, and this would tell you if those changes included removing something that was part of the canonical set of things in a distro, your software would not work on that distro. Today, individual package managers do this in a distro unique way and let you work on one distro. As a software developer you end up with the "Fedora/Redhat" version, the "Ubuntu/Debian" version, maybe the "Arch/Gentoo" version. But if the Linux community settled on a common understanding of the "genetic code" if you will, you could do that for all possible distributions. That would be a powerful thing.
- MuffinFlavored 6y ago* init * repo * community * kiss https://github.com/kisslinux/ https://github.com/kisslinux/ Which package is the Linux kernel build stuff related? I recently wanted to bundle a quick Alpine install into a shareable `qemu` image. I couldn't figure out how to add a simple kernel module that was not included in the stock config. I would love to get this problem solved.
- leephillips 6y agoI enjoyed reading the list of explicitly excluded software. My current approach to installing linux on a laptop is to start with xubuntu, add dwm, and remove the desktop, ibus, pulseaudio, and a bunch of other stuff. I discovered that Firefox will not play sound without pulseaudio! My next project is removing dbus, but many things on the system seem to depend on it. I think linux is a beautiful thing, but the mainstream distributions are messes of competing, redundant subsystems and massively bloated interface layers that do very little except make the system less reliable, slow, and hard to configure.
- tomaspollak 6y agoThere's a package called apulse, that tricks programs into thinking they are talking to PulseAudio while piping stuff internally to ALSA. https://github.com/i-rinat/apulse https://github.com/i-rinat/apulse
- leephillips 6y agoAmazing, thank you so much!
- zamalek 6y ago> Explicitly excludes the following software: wayland I find it curious that a distro espousing simplicity would choose XOrg over Wayland (which was created to resolve problems arising from unnecessary complexity in XOrg). It looks like this is 80% simplicity and 20% sentimentality. I don't use wayland myself, but simplicity is certainly not a factor in that decision.
- zests 6y agoWayland strikes me as the "shiny new thing" that is not ready for widescale use. If I was designing a distro and could only choose one I would choose X unless it was specifically a distro for shiny things that break.
- zamalek 6y agoI think that's a completely fair reason to avoid wayland, there are many of them. Complexity just doesn't seem like one of them.
- upofadown 6y agoIs the total system complexity less with Wayland? It seems to push a lot of functionality out to the edges. X isn't really all that complicated, just crufty...
- zamalek 6y agoI guess it may depend on your definition of simplicity. Mine really is "can do less" and there's this whole networking component to X (which I use).
- snvzz 6y agoWar is Peace. Freedom is Slavery. Less is More.