aboutsummaryrefslogtreecommitdiff
path: root/carbslinux.org
diff options
context:
space:
mode:
Diffstat (limited to 'carbslinux.org')
-rw-r--r--carbslinux.org120
1 files changed, 73 insertions, 47 deletions
diff --git a/carbslinux.org b/carbslinux.org
index 52ef531..750f4a4 100644
--- a/carbslinux.org
+++ b/carbslinux.org
@@ -64,13 +64,12 @@ for doing the first.
- [[#fstab][Fstab]]
- [[#post-installation][Post-installation]]
- [[#kiss-repositories][KISS repositories]]
-- [[#init-system][Init System]]
- - [[#configuring-init][Configuring Init]]
- - [[#kernel-command-line][Kernel Command Line]]
- - [[#etcinitrcconf-file][=/etc/init/rc.conf= file]]
- - [[#init-hooks][Init Hooks]]
- - [[#changing-init-program][Changing Init Program]]
- - [[#rebooting-after-changing-init][Rebooting after changing init]]
+- [[#software][Software]]
+ - [[#init-system][Init System]]
+ - [[#configuring-init][Configuring Init]]
+ - [[#changing-init-program][Changing Init Program]]
+ - [[#display-systems][Display Systems]]
+ - [[#wayland][Wayland]]
- [[#contribution-guidelines][Contribution Guidelines]]
- [[#conventions][Conventions]]
- [[#shell-conventions][Shell Conventions]]
@@ -323,7 +322,9 @@ cpt-install package
:DESCRIPTION: Software you might want to include on your system
:END:
-Here is a list of software that you might want to have on your system.
+Here is a small list of software that you might want to have on your system as
+you are setting up. You might want to check the *Software* section in the full
+documentation to learn more about other packaged software.
*BOOTLOADERS*
@@ -345,22 +346,6 @@ Here is a list of software that you might want to have on your system.
- nano
- vim
-- neatvi
-- emacs
-- emacs-nox (terminal-only version of emacs)
-
-*USER SHELLS*
-
-- bash
-- zsh
-- oksh
-- rc
-
-*POSIX BASE UTILITIES*
-
-- busybox
-- sbase
-- coreutils
*DOCUMENTATION*
@@ -374,7 +359,7 @@ Here is a list of software that you might want to have on your system.
:END:
All the documentation for Carbs Linux can be found on a single info manual to be
-viewed offline. You can obtain texinfo or the info (standalone) package in order
+viewed offline. You can obtain either =texinfo= or the =info= packages in order
to view the documentation.
#+BEGIN_SRC sh
@@ -571,11 +556,22 @@ You can check the rest of the documentation to learn more about the system.
:DESCRIPTION: Acquire kiss repositories
:END:
-While not 100% compatible with cpt, you can use kiss repositories in your
-system the same way you are using the distribution repositories. Here is an
-example for the KISS Linux Community repository.
+There have been recent changes to the =kiss= package manager that breaks
+compatibility with =cpt=. These changes throw away the entire premise of their
+"static" packaging system. =cpt= will never implement those changes, so don't
+expect any KISS package that was changed during or after July 2021 to work with
+=cpt=.
+
+* Software
+
+The distribution aims to package essential and useful software needed in a
+practical system. If the repository lacks a package that you use, you may also
+easily package it yourself or request it to be added to the default repositories
+over on the IRC channel (=#carbslinux= on [[https://libera.chat][Libera]]).
-* Init System
+This section goes over the details of some packaged software
+
+** Init System
:PROPERTIES:
:DESCRIPTION: Configure the init system
:END:
@@ -585,7 +581,7 @@ boot and shutdown processes. It also provides its own halting program named
shalt. This provides a portable method that doesn't rely on non-POSIX external
programs.
-** Configuring Init
+*** Configuring Init
:PROPERTIES:
:DESCRIPTION: Ways to configure the init system
:END:
@@ -596,7 +592,7 @@ There are three ways you can change the behaviour of the init system. Those are:
- =/etc/init/rc.conf= file
- Init Hooks
-*** Kernel Command Line
+**** Kernel Command Line
:PROPERTIES:
:DESCRIPTION: Configure init through the boot parameters
:END:
@@ -623,7 +619,7 @@ quiet=1
Some of these variables, such as =rw=/=ro=, =loglevel=, and =quiet=, will be
used by the init system to change the behaviour of the startup.
-*** =/etc/init/rc.conf= file
+**** =/etc/init/rc.conf= file
:PROPERTIES:
:DESCRIPTION: Configure init through the configuration file
:END:
@@ -633,7 +629,7 @@ parameters. You can specify variables here as well, although note that the
kernel command line always gets the priority for these variables since they can
be set just before boot.
-*** Init Hooks
+**** Init Hooks
:PROPERTIES:
:DESCRIPTION: Configure init through hooks
:END:
@@ -650,7 +646,7 @@ hook name as the suffix. For example, a boot script will be placed as
- umount :: Run just before filesystems are unmounted.
- post.shutdown :: Run just before the system is halted.
-** Changing Init Program
+*** Changing Init Program
:PROPERTIES:
:DESCRIPTION: Replace the default busybox init with something new
:END:
@@ -659,7 +655,7 @@ By default, Carbs Linux comes preinstalled with =busybox-init=, but this can
easily be replaced without any issues. Currently, available init systems are:
- =sinit=
-- =busybox=
+- =busybox= init
- =runit=
- =shinit=
@@ -673,7 +669,7 @@ cpt a runit /usr/bin/poweroff
cpt a runit /usr/bin/reboot
#+END_SRC
-*** Rebooting after changing init
+**** Rebooting after changing init
:PROPERTIES:
:DESCRIPTION: Ways to reboot after replacing the init system
:END:
@@ -689,28 +685,58 @@ currently running on your system and not the one you are switching to.
| runit | =runit-init 6= |
| shinit/sinit | =kill -s INT 1= |
-* TODO Wayland :noexport:
-:PROPERTIES:
-:DESCRIPTION: Installing Wayland on Carbs Linux
-:END:
+** TODO Display Systems
+
+Carbs Linux supports both Xorg and Wayland in the distribution repositories.
+This section serves as a guide to set up your preferred display server. Follow
+the subsection for the display server you want to setup.
+
+*** Wayland
Wayland is a modern display server protocol intended as a replacement for Xorg.
Wayland has a much simpler architecture compared to X by its careful design and
implementation. Users who want to use a Wayland compositor should follow this
section.
-** TODO Enabling the Wayland repository
+**** Enabling the Wayland repository
The =wayland= repository requires packages from =xorg= and =extra= repositories.
+So you should set your =$CPT_PATH= so that =core= and =extra= repositories
+precede the =wayland= repository, and the =xorg= repository should come after
+=wayland=. Here is an example below, where =$REPOSITORY= points to the root of
+your repository.
+
+#+begin_src sh
+CPT_PATH=$REPOSITORY/core
+CPT_PATH=$CPT_PATH:$REPOSITORY/extra
+CPT_PATH=$CPT_PATH:$REPOSITORY/wayland
+CPT_PATH=$CPT_PATH:$REPOSITORY/xorg
+export CPT_PATH
+#+end_src
+
+After you have enabled your repositories, go ahead and install =wayland= and
+=wayland-protocols= packages.
+
+#+begin_src sh
+cpt-build wayland wayland-protocols
+#+end_src
+
+**** Switching from Xorg
+
+If you are already an Xorg user, you will need to rebuild some packages so that
+they support =wayland=. If you don't have an =xorg= system, feel free to skip
+this step. The packages that need a rebuild are:
-** TODO Switching from Xorg
+- gtk+3
+- gtk4
+- mesa
+- xorg-server (for Xwayland support)
+- webkit2gtk
-If you are switching from Xorg, you will need to recompile some programs to
-reflect on the changes. Those are:
+**** TODO Installing a Compositor
-- =xorg-server=
-- =gtk+3=
-- =mesa=
+The =wayland= repository currently only contains =sway= as a Wayland compositor,
+but you can package something else for your own.
* Contribution Guidelines
:PROPERTIES: