aboutsummaryrefslogtreecommitdiff
path: root/content/_index.org
blob: ea0fac70aa2c6201408266bc763f08710f5d0d23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#+TITLE: Home
#+DESCRIPTION: a simple Linux distribution
#+OPTIONS: title:nil

Carbs Linux is an independent source-based Linux\reg distribution that aims to
be simple, flexible and extensible while staying as pragmatic and practical as
possible. The system can consist of as much or as little as its user can intend
to.

Join us over the IRC channel [[ircs://irc.libera.chat/#carbslinux][#carbslinux]] on [[https://libera.chat][libera.chat]], visit [[https://reddit.com/r/carbslinux][r/carbslinux]] on
Reddit, or sign up to our [[file:mailing-lists.org][mailing lists]].

* Package Manager
:PROPERTIES:
:CUSTOM_ID: package-manager
:END:

Carbs Linux uses its own package manager [[https://fossil.carbslinux.org/cpt][Carbs Packaging Tools]], a POSIX shell
package manager with the tool-based approach of [[https://github.com/void-linux/xbps][xbps]]. Its aim is to deliver
easy-to-use tools while also providing a powerful POSIX shell library that can
be used to further extend and script the packaging system.


* Small base
:PROPERTIES:
:CUSTOM_ID: small-base
:END:

By default, Carbs Linux comes with busybox for coreutils, libressl for its
crypto library, musl libc, and other basic utilities that are required for
building new software. The majority of the base packages are statically linked.


* Multiple Init Support
:PROPERTIES:
:CUSTOM_ID: multiple-init-support
:END:

Carbs Linux has support for multiple init systems and service supervisors. In
the main repository are

- {{< pkg "core/sinit" >}}
- {{< pkg "extra/shinit" >}}
- {{< pkg "core/busybox" "busybox-init" >}}
- {{< pkg "core/runit" "runit-init" >}}

for init systems, and

- {{< pkg "core/sysmgr" >}}
- {{< pkg "core/busybox" "busybox-runit" >}}
- {{< pkg "core/runit" >}}

for service supervisors. The {{< pkg "core/carbs-init" >}} package is the collection of init
scripts that ensure the interoperability of these init and service systems, and
make it easier for the user to switch to their preferred combinations of system
supervision.

Nothing holds you back, however, from ditching any of these and packaging some
other system supervision technique along with your own init scripts.