Shards(1) | General Commands Manual | Shards(1) |
Project Shards |
[shards] MacOS inspired Immutable Linux Distribution |
Project Shards
is an immutable linux
distribution using multiple Volumes to create one system
Project Shards
utilizes multiple Volumes
(called Shards) to create one root using bind and overlay mounts
Project Shards
Consists of 6 Shards:
- 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
- The Boot shard contains files and packages requir to boot on real hardware this is mainly the bootloader and kernel
- The System shard is the main root, it contains everything required to boot into userspace and cannot be modified unless booted into the recovery
- Data Contains everything the user installs themselves or changes on the root filesystem, it is mounted read-write and contains /etc
- Users contains the home directories of all users, it is simply bind mounted to /home on boot as read-write
- 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
Project Shards
uses a pacman wrapper
called shardctl to install and remove packages, however users can also enter
a special mode to use pacman(1) directly.
shardctl also allows installing aur packages and wraps around apx(1) to allow installing packages into containers.
Project Shards
comes preinstalled with
flatpak and allows installing them by simply dragging the flatpakref files
into ~/Applications. This is achieved using appD.
appD also allows installing pacman packages by dragging the .pkg.tar.xz files into ~/Applications.
Project Shards
uses the Recovery to
perform updates. When a user decides to update their
Project Shards
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.
Project Shards
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
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.
Project Shards
like other immutable
distributions uses images to distribute updates unlike other immutable
distributions however, Project Shards
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
CC BY-SA 4.0 | Nixpkgs |