Lets start off with setting expectations; Arkane Linux is accessible to all, yet it assumes those using it have a fairly decent understanding of GNU/Linux. Arkane avoids pointless abstraction, this means the system does not do any hand-holding, it assumes you are familiar with the components which comprise it and have the ability to read the manual of said components.
This document will provide you with some example usage or Arkdep, and give you a technical overview of the detail and specifics of Arkane Linux's configuration.
Here is detailed the default configurion of an installed system, the configuration of the ISO installation images differs in various ways from a full proper install.
The system is updated like so;
deploy parameter is passed without providing any further arguments Arkdep will read
/arkdep/config and combine
$repo_url/$repo_default_image to infer from where it is expected to download its images and which image variant it should download. It will download the database file at
$repo_url/$repo_default_image/database and grab the very first entry in the list, the top most entry in the database file is assumed to be the latest image available.
A specific image variant can be pulled like so;
Providing this extra argument will overwrite
$repo_default_image allowing you to pull a different image variant from the same repository.
Specific image versions can also be requested;
This argument will make it search the database file and download the first hit it finds.
If you are intend on pulling a specific version of the default image variant as defined in
$repo_default_image the variant may be substituted with a
Any image present in
/arkdep/cache, for example an image called
aaabbbccc.tar.zst, can also be installed directly skipping the database download;
Permanently rolling back to another image is done by manually calling systemd-boot's
Do you like the technology but do not like the provided images? No problem! You can easily spin and deploy custom images should you desire to do so.
First make a copy of one of the existing arkane-build configurations in to a directory named
Next make your edits to the configuration files in
arkdep-build.d/test-arkanelinux-kde, you may also rename the
test-arkanelinux-kde configuration's directory, the name of the directory is used to build a specific image by name.
base.list contains a list of packages installed during the bootstrapping process using pacstrap.
package.list contains a list of packages which will be installed after the bootstrapping process using a chrooted pacman.
type is expected to be present but right now only accepts
archlinux, in the future support for more distro families will be added.
overlay directory is copied to root after the packages are installed, use the overlay to add custom config files or to enable systemd services.
Once all the desired changes have been made you can spin a new image by navigating to
arkdep-build.d's parant directory and running arkdep-build.
Once the image has finished building it will be placed inside of a directory called
target located in the
arkdep-build.d parent directory. To then install it without using an external repository copy the achive in to the
/arkdep/cache directory and define cache as the image variant when doing a deployment.
The GNOME variants all provide a very comparable configuration, a stock gnome-shell with the following notable tweaks and configurations;
mutter-dynamic-buffering patches included
gnome-software with packagekit support
/home Btrfs subvolume
Arkdep images mostly grab the above mentioned configuration with the exclusion of the packagekit plugin, since the system is immutable and managed by arkdep there is no reason to include it.
The following changes are applied to the filesystem;
/opt is symlinked to
/srv is symlinked to
/root is symlinked to
/usr/local is symlinked to
/usr/lib/locale is symlinked to
And the following changes in software and configuration;
libnss-extrausers PAM module included by default
group files with system accounts are stored in
/usr/lib, these are loaded by the extrausers PAM module
group files in
/etc exclusively store root and normal user accounts
podman is included by default
Some notable quirks you should be aware of;
/etc is a separate subvolume living inside of the root of the deployment, it is writable by default
/home do not carry over between deployments, manually add your changes to
/home are shared between all deployments and are stored in
/arkdep/overlay/etc will make arkdep temporarily unlock the root subvolume for editing
bootctl set-default to change the default deployment to roll back to an older deployment and make it default, or select said older deployment in the systemd-boot bootloader interface