summaryrefslogtreecommitdiff
path: root/shards.1.html
diff options
context:
space:
mode:
Diffstat (limited to 'shards.1.html')
-rw-r--r--shards.1.html144
1 files changed, 144 insertions, 0 deletions
diff --git a/shards.1.html b/shards.1.html
new file mode 100644
index 0000000..84f4d2b
--- /dev/null
+++ b/shards.1.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+ <meta name="description" content="A page detailing Project Shards"/>
+ <link rel="stylesheet" href="./style.css" type="text/css" media="all"/>
+ <title>Shards(1)</title>
+</head>
+<body>
+ <script src="./antiChrome_Brave.js"></script>
+
+<table class="head">
+ <tr>
+ <td class="head-ltitle">Shards(1)</td>
+ <td class="head-vol">General Commands Manual</td>
+ <td class="head-rtitle">Shards(1)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<table class="Nm">
+ <tr>
+ <td><code class="Nm">Project Shards</code></td>
+ <td>[shards] <var class="Ar">MacOS inspired</var>
+ <var class="Ar">Immutable</var> <var class="Ar">Linux
+ Distribution</var></td>
+ </tr>
+</table>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> is an immutable linux
+ distribution using multiple Volumes to create one system</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="How_it_works"><a class="permalink" href="#How_it_works">How
+ it works</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> utilizes multiple Volumes
+ (called Shards) to create one root using bind and overlay mounts</p>
+<p class="Pp"></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="The_different_Shards"><a class="permalink" href="#The_different_Shards">The
+ different Shards</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> Consists of 6 Shards:</p>
+<p class="Pp">- 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</p>
+<p class="Pp">- The Boot shard contains files and packages requir to boot on
+ real hardware this is mainly the bootloader and kernel</p>
+<p class="Pp">- The System shard is the main root, it contains everything
+ required to boot into userspace and cannot be modified unless booted into
+ the recovery</p>
+<p class="Pp">- Data Contains everything the user installs themselves or changes
+ on the root filesystem, it is mounted read-write and contains /etc</p>
+<p class="Pp"></p>
+<p class="Pp">- Users contains the home directories of all users, it is simply
+ bind mounted to /home on boot as read-write</p>
+<p class="Pp"></p>
+<p class="Pp">- 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</p>
+<p class="Pp"></p>
+<p class="Pp"></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="Package_Management"><a class="permalink" href="#Package_Management">Package
+ Management</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> uses a pacman wrapper
+ called shardctl to install and remove packages, however users can also enter
+ a special mode to use <b>pacman</b>(1) directly.</p>
+<p class="Pp"><b>shardctl</b> also allows installing aur packages and wraps
+ around <b>apx</b>(1) to allow installing packages into containers.</p>
+<p class="Pp"></p>
+<p class="Pp"><code class="Nm">Project Shards</code> comes preinstalled with
+ flatpak and allows installing them by simply dragging the flatpakref files
+ into ~/Applications. This is achieved using <b>appD</b>.</p>
+<p class="Pp"></p>
+<p class="Pp"><b>appD</b> also allows installing pacman packages by dragging the
+ .pkg.tar.xz files into ~/Applications.</p>
+<p class="Pp"></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="Updating"><a class="permalink" href="#Updating">Updating</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> uses the Recovery to
+ perform updates. When a user decides to update their
+ <code class="Nm">Project Shards</code> Installation, they get rebooted into
+ the Recovery which automatically starts the Update.</p>
+<p class="Pp"></p>
+<p class="Pp">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.</p>
+<p class="Pp">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.</p>
+<p class="Pp"></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="Installing"><a class="permalink" href="#Installing">Installing</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> 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</p>
+<p class="Pp"></p>
+<p class="Pp">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.</p>
+<p class="Pp"></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="Images"><a class="permalink" href="#Images">Images</a></h1>
+<p class="Pp"><code class="Nm">Project Shards</code> like other immutable
+ distributions uses images to distribute updates unlike other immutable
+ distributions however, <code class="Nm">Project Shards</code> 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.</p>
+<p class="Pp">Realistically this is not the case, since extra things such as
+ managing /etc will have to be done after the update</p>
+<p class="Pp"></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="See_Also"><a class="permalink" href="#See_Also">See
+ Also</a></h1>
+
+<div class="Pp">
+<a class="Lk" href="index.html"><b>axtlos</b>(7)</a>
+<a class="Lk" href="specs.7.html"><b>Specs</b>(7)</a>
+<a class="Lk" href="crystal.1.html"><b>Crystal Linux</b>(1)</a>
+<a class="Lk" href="lit.7.html"><b>Linux Immutability Tools</b>(1)</a>
+</div>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">CC BY-SA 4.0</td>
+ <td class="foot-os">Nixpkgs</td>
+ </tr>
+</table>
+</body>
+</html> \ No newline at end of file