Welcome to ASD Linux!

ASD Linux is an alternate core repository for KISS Linux. Highlights include being mostly GNU-free (GNU make and gnupg are the exceptions to this), simple shell-based package management, and LibreSSL.

This documentation is a work in progress, and certainly incomplete in places.


Development

Development occurs on https://sr.ht, with mirrors to https://git.a rmaanb.net.

Git repositories

  1. Documentation
  2. Init framework
  3. Main repository
  4. Package manager

Bugs and patches

  1. Mailing list
  2. Issue tracker

What's in a name?

The name ASD was originally chosen just because it was convinient to write, however has since been backronymed to Armaan's Source-based Distribution.


Software Choices

All the packages in the core repository make up a full Linux userland including an IRC client, mail client, and text editor.

This is a list of all the software in the core subrepository, with explanations as to their inclusion.

asd

The package manager with some extensions.

baseinit

The framework used to boot and shutdown the computer.

baselayout

Creates standard directories and defaults in /etc.

busybox

Provides most of the userland. Alternatives include sbase/ubase and toybox. Those both have preferred licenses, however are much more incomplete, and would require significant supplementing to create a full userland.

byacc

Yacc implementation. Alternative to GNU Bison.

bzip2

Compression library.

catgirl

IRC client. Chosen for its balance between features and size.

cmake

Build system used in some packages.

curl

URL transfer program. Used in asd, but may be replaced with Busybox wget.

mutt, isync, cyrus-sasl

Email stack. Isync provides maildir syncing, as I like to keep my mail offline. Cyrus-sasl is used for authenticating with some mail servers.

efibootmgr, efivar

Handles UEFI and boot configuration.

expat

XML parser used in some programs.

git

Version control system used extensively in asd.

gnupg2

Encryption tool used by Git and other tools.

gzip

Compression library.

less

Pager software.

libarchive

Provides tar and cpio.

libassuan

Library used for IPC between gnupg components.

libedit

Provides line editing capability to software like LLVM.

libevent

Provides asynchronous event notifications.

libffi

Lets Python and other high level languages interface with C.

libgcrypt

gnupg's cryptography library.

libgpg-error

gnupg's error reporting library.

libksba

gnupg's X.509 library.

libressl

SSL and cryptography library. Lighter than OpenSSL. Potentially to be replaced with BearSSL in the future.

libtermkey

Dependency of vis. Used to process keyboard input.

libudev-zero

Daemonless replacement for libudev.

lynx

Web browser.

linux-headers

Header and development files for Linux.

llvm

Compiler toolchain. This package includes llvm, lldb, clang, libcxx, libcxxabi, libunwind, lld, and compiler*rt.

make

GNU make. Common build system.

man-pages

Linux, posix, and asd manpages.

mandoc

mandoc manpage reader.

musl

C library.

ncurses

Terminal handling library. Potentially to be replaced with netbsd*curses.

npth

gnupg's threads library.

oksh

Portable version of OpenBSD's Korn shell. Provides /bin/sh.

opendoas

Privilege escalation utility.

perl

Lanugage used in various build systems and Git.

pinentry

Pin entry program for gnupg2.

pkgconf

Build dependency information system.

procps-ng

Provides better implementations of free, top, etc.

python

Language used in various build systems and Git.

samurai

Lightweight Ninja build system implementation.

sqlite

Embedded SQL library.

tzdata

Zoneinfo database.

ugrep

Super fast and featureful drop-in grep replacement. Perhaps a bit bloated.

vis-min

Vi-like editor combining classic vi and structural regular expressions. The vis-min package has reduced dependencies compared to extra/vis at the cost of scripting and syntax highlighting.

xz

Compression library.

zlib

Compression library.

zstd

Compression library.