Handle installation on handheld devices - #168
Open
ventureoo wants to merge 12 commits into
Open
Conversation
ptr1337
reviewed
Feb 11, 2026
ptr1337
reviewed
Feb 11, 2026
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
3 times, most recently
from
February 12, 2026 08:07
a4caf5f to
2477b69
Compare
ventureoo
referenced
this pull request
Feb 12, 2026
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
from
February 12, 2026 08:11
2477b69 to
74eb87f
Compare
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
2 times, most recently
from
March 9, 2026 11:48
cbae2fd to
72df676
Compare
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
from
April 10, 2026 09:18
72df676 to
b520458
Compare
Member
Author
|
Rebased, again. |
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
from
June 16, 2026 17:21
ff1ac17 to
b864086
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds handheld-aware installation behavior to CachyOS Calamares, aiming to unify desktop and handheld flows (issue #155) by selecting different kernels / packages and adjusting module behavior based on a handheld detection signal.
Changes:
- Introduces a “handheld” platform concept across Calamares (C++ + Python bindings) and uses it to conditionally alter installer behavior.
- Adjusts package selection to install deckify kernels on handheld devices (pacstrap + netinstall groups) and filters UI package choices by platform.
- Tweaks module behavior for handheld installs (e.g., skip displaymanager; adjust bootloader config generation; disable ufw enable via systemd module).
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/scripts/enable-ufw | Switches shebang to env bash; enables ufw service if ufw is installed. |
| src/modules/users/users.schema.yaml | Restructures presets under a new platform.desktop/handheld hierarchy. |
| src/modules/users/users.conf | Adds platform-specific preset values (e.g., “Deck” / “deck” for handheld). |
| src/modules/users/Config.cpp | Applies presets from platform.desktop or platform.handheld based on handheld detection. |
| src/modules/unpackfs/unpackfs.conf | Makes kernel image extraction optional and adds optional deckify kernel copy. |
| src/modules/services-systemd/services-systemd.conf | Removes automatic enabling of the ufw unit. |
| src/modules/pacstrap/pacstrap.conf | Removes explicit CachyOS kernel packages from basePackages (now chosen in code). |
| src/modules/pacstrap/main.py | Adds handheld-dependent kernel package selection, including ZFS variants. |
| src/modules/packagechooser/packagechooser_desktop.conf | Adds platform: "desktop" markers to desktop DE entries. |
| src/modules/packagechooser/packagechooser_bootloader.conf | Marks some bootloader choices as desktop-only. |
| src/modules/packagechooser/Config.cpp | Filters PackageChooser items by platform using handheld detection. |
| src/modules/netinstall/PackageTreeItem.h | Adds platform() accessor and stores per-item platform. |
| src/modules/netinstall/PackageTreeItem.cpp | Reads platform from YAML (default “any”) and includes it in equality. |
| src/modules/netinstall/PackageModel.cpp | Attempts to filter netinstall groups by platform when building the model. |
| src/modules/netinstall/netinstall.yaml | Adds hidden kernel groups for desktop/handheld, handheld base group, and marks some groups desktop-only (e.g., firewall). |
| src/modules/netinstall/netinstall.schema.yaml | Extends schema with a platform string property. |
| src/modules/netinstall/netinstall.conf | Changes remote groupsUrl to point at a different GitHub branch path. |
| src/modules/displaymanager/main.py | Skips display manager configuration on handheld systems. |
| src/modules/bootloader/main.py | Adds limine UI rotation handling on handheld (via drm_info JSON parsing). |
| src/libcalamares/utils/System.h | Adds isHandheld() API and stores handheld flag in System singleton. |
| src/libcalamares/utils/System.cpp | Detects handheld state via /etc/edition-tag. |
| src/libcalamares/python/Api.h | Adds Python API function is_handheld(). |
| src/libcalamares/python/Api.cpp | Implements is_handheld() via Calamares::System::isHandheld(). |
| src/libcalamares/pyboost/PythonJob.cpp | Exposes is_handheld in the Python utils submodule (boost-python). |
| src/libcalamares/pybind11/PythonJob.cpp | Exposes is_handheld in the Python utils submodule (pybind11). |
| settings_online.conf | Moves users earlier in the online install sequence. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
from
June 20, 2026 11:42
b864086 to
46b56b0
Compare
ventureoo
marked this pull request as ready for review
June 20, 2026 11:43
This was referenced Jun 20, 2026
vnepogodin
requested changes
Jun 23, 2026
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
2 times, most recently
from
June 23, 2026 14:32
15a0c22 to
95686a9
Compare
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
It's already part of cachyos-handheld package Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
from
June 23, 2026 16:08
95686a9 to
9a228e1
Compare
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
Co-authored-by: Eric Naim <dnaim@cachyos.org> Co-authored-by: Anton Ždanov <anton@azdanov.dev> Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
A user must exist before installing the cachyos-handheld package for the autologin setup. Signed-off-by: Eric Naim <dnaim@cachyos.org>
ventureoo
force-pushed
the
cachyos-dev-deckify
branch
from
June 24, 2026 14:14
9a228e1 to
d1835f2
Compare
Signed-off-by: Peter Jung <admin@ptr1337.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes: #155