Manjaro Immutable Out Now for Community Testing – Releases
Powered by Arkdep from the Arkane Linux project this exciting new Manjaro variant is available for public testing right now!
The goal of this release is to gather community feedback on the technology powering Manjaro Immutable.
Note that this is only an experimental release and not representative of the final version, there is also no support guarantee, so hold off on installing it as your primary operating system, at least for now.
We are hugely interested in gathering your feedback on Manjaro Immutable. Join the Matrix channel or leave a reply down below!
Getting Started
Here is a simple series of actions you can perform to touch upon most major user-facing functionally.
System Requirements
- 32GB of storage minimum, 64GB or more recommended
- UEFI boot
The download link is here: https://download.manjaro.org/manjaro-gnome-immutable/20240801/manjaro-gnome-immutable-2024.08.01-x86_64.iso
0. Install
Download the live ISO and simply install it using the graphical installer. Watch this short video to see how you can try it out with vanilla QEMU:
Alternatively you can use VirtualBox, a QEMU front-end such as gnome-boxes, or install directly to physical hardware. Just make sure to enable UEFI support in the virtual machine configuration or that you are testing on UEFI enabled hardware.
Rigorous discussion by the team on which VM solution to recommend
1. Run an Update
If you have just installed Manjaro Immutable it should say there are no updates available. If it does update, give the machine a reboot when it completes.
sudo arkdep deploy
2. Get Package Diff Comparing Two Images
It should print a nice diff on upgraded (Or downgraded), new and removed packages.
# If an update is available for the default variant will compare current version to new version
arkdep diff
# Compare current version to another image variant
arkdep diff test-manjaro-kde
3. Switch To The KDE Image
Note that after switching it will still default to the GNOME version when updating. To make test-manjaro-kde
the default branch you will have to change repo_default_image
in /arkdep/config
.
sudo arkdep deploy test-manjaro-kde
Reboot the system to boot in to the new KDE deployment.
4. Do a Rollback to the GNOME Deployment
Find the GNOME image ID, it will be the second item in the list, the items are in order of installation;
cat /arkdep/tracker
8da5433c34d8633d686c0c6cdc8b0d7d0c77d0d5f7
1b07985e7fd28c5722f73ed6937b0c6afedfba33d6 <--- This one
Use systemd-boot bootctl to change the default booted image.
sudo bootctl set-default 1b07985e7fd28c5722f73ed6937b0c6afedfba33d6
Now reboot, it should reboot back in to the GNOME deployment.
5. Remove The KDE Deployment
Find the KDE image ID, it will be the first item in the list;
cat /arkdep/tracker
8da5433c34d8633d686c0c6cdc8b0d7d0c77d0d5f7 <--- This one
1b07985e7fd28c5722f73ed6937b0c6afedfba33d6
Now remove it;
sudo arkdep remove 8da5433c34d8633d686c0c6cdc8b0d7d0c77d0d5f7
# It can work with an impartial version definition also
sudo arkdep remove 8d
For fun and giggles try also removing your currently active GNOME deployment, it should not allow it;
sudo arkdep remove 1b07985e7fd28c5722f73ed6937b0c6afedfba33d6
One of the primary differences between Arkdep and other immutable solutions is its ease of use, it was purposefully build to make it as easy as possible for other people build personalized configurations for either themselves or a community with a specific use case or preference.
This is a topic we will spend more dedicated time on later, but you can experiment with it already if you wish. Check out the Arkane Linux arkdep-build docs on how to build images, you can use our configurations as a template for your own work. Happy hacking!
Rough Technical Overview
Arkdep is a simple shell script script only dependent on a few GNU Coreutils, Bash, Btrfs, wget, curl and Systemd. To utilize it you require no dedicated infrastructure, no weird dependencies and no magic.
Images are build by an image provider, this could be you building images for yourself or a distro which prebuilds and tests images before releasing these to a wider community.
These images are uploaded to a simple HTTP repository and downloaded by Arkdep. Alternatively, self-made images can also be deployed entirely locally directly from Arkdep’s cache.
The downloaded images are exported Btrfs subvolumes, they will be imported by Arkdep and made bootable by configuring a bootloader entry for it to mount said subvolume as root. Then using EFI variables the new bootloader entry is configured as default.