summaryrefslogtreecommitdiff
path: root/old/shards.1
diff options
context:
space:
mode:
Diffstat (limited to 'old/shards.1')
-rw-r--r--old/shards.1112
1 files changed, 112 insertions, 0 deletions
diff --git a/old/shards.1 b/old/shards.1
new file mode 100644
index 0000000..a634564
--- /dev/null
+++ b/old/shards.1
@@ -0,0 +1,112 @@
+.Dd $Mdocdate$
+.Dt Shards 1
+.Os
+.Sh SYNOPSIS
+.Nm Project Shards
+.Op shards
+.Ar MacOS inspired
+.Ar Immutable
+.Ar Linux Distribution
+.Sh DESCRIPTION
+.Nm
+is an immutable linux distribution using multiple Volumes to create one system
+.Sh How it works
+.Nm
+utilizes multiple Volumes (called Shards) to create one root using bind and overlay mounts
+
+.Sh The different Shards
+.Nm
+Consists of 6 Shards:
+
+.IP \fBRoot\fP
+\- The Root shard acts like a preloader, it provides the special root directories
+like /run or /dev and the initial tools for mounting the other Shards and creating
+the proper root system
+
+.IP \fBBoot\fP
+\- The Boot shard contains files and packages requir to boot on real hardware
+this is mainly the bootloader and kernel
+
+.IP \fBSystem\fP
+\- The System shard is the main root, it contains everything required to boot
+into userspace and cannot be modified unless booted into the recovery
+
+.IP \fBData\fP
+\- Data Contains everything the user installs themselves or changes on the root
+filesystem, it is mounted read-write and contains /etc
+
+
+.IP \fBUsers\fP
+\- Users contains the home directories of all users, it is simply bind mounted
+to /home on boot as read-write
+
+
+.IP \fBRecovery\fP
+\- The Recovery shard is a seperate system from the other shards, it can be
+booted by itself. It contains the Graphical and Terminal based recovery for
+updating, troubleshooting or reinstalling Project Shards
+
+
+.Sh Package Management
+.Nm
+uses a pacman wrapper called shardctl to install and remove packages, however
+users can also enter a special mode to use \fBpacman\fR(1)
+directly.
+
+\fBshardctl\fP also allows installing aur packages and wraps around \fBapx\fR(1)
+to allow installing packages into containers.
+
+
+.Nm
+comes preinstalled with flatpak and allows installing them by simply dragging
+the flatpakref files into ~/Applications.
+This is achieved using \fBappD\fP.
+
+
+\fBappD\fP also allows installing pacman packages by dragging the .pkg.tar.xz
+files into ~/Applications.
+
+.Sh Updating
+.Nm
+uses the Recovery to perform updates. When a user decides to update their
+.Nm
+Installation, they get rebooted into the Recovery which automatically starts the Update.
+
+
+If the Update is succesfull the Recovery either turns the computer off or reboots
+it, depending on what the user chose when starting the update.
+
+If the Update fails, then the recovery rolls back to a snapshot it took before
+starting the update and warns the user next time it boots into the main Project
+Shards installation.
+
+.Sh Installing
+.Nm
+installs similiarly to MacOS, the ISO offered for download is actually the recovery,
+when booting into the iso the user is immediately presented with the Recovery
+screen and can Install
+.Nm.
+
+
+The installation process only asks the user for the disk to install onto, any
+postinstall configurations usually set in the Installer, like user creation,
+setting the timezone or choosing locales are done post install in a first-setup
+application.
+
+.Sh Images
+.Nm
+like other immutable distributions uses images to distribute updates
+unlike other immutable distributions however,
+.Nm
+does not directly use OCI-Images, it uses flatpak packages as a type of ostree
+frontend. This means that optimally the update process only consists of a simple
+flatpak update to upgrade the system.
+
+Realistically this is not the case, since extra things such as managing /etc will have
+to be done after the update
+
+.Sh See Also
+\fBaxtlos\fP(7),
+\fBSpecs\fP(7),
+\fBCrystal Linux\fP(1),
+\fBLinux Immutability Tools\fP(7)