Skip to content

Handle installation on handheld devices - #168

Open
ventureoo wants to merge 12 commits into
cachyosfrom
cachyos-dev-deckify
Open

Handle installation on handheld devices#168
ventureoo wants to merge 12 commits into
cachyosfrom
cachyos-dev-deckify

Conversation

@ventureoo

Copy link
Copy Markdown
Member

Closes: #155

@ventureoo ventureoo changed the title Handle installation of handheld devices Handle installation on handheld devices Feb 11, 2026
Comment thread src/modules/displaymanager/main.py
Comment thread src/modules/unpackfs/unpackfs.conf
@ventureoo
ventureoo force-pushed the cachyos-dev-deckify branch 3 times, most recently from a4caf5f to 2477b69 Compare February 12, 2026 08:07
ventureoo referenced this pull request Feb 12, 2026
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
@ptr1337
ptr1337 changed the base branch from cachyos-dev to cachyos February 19, 2026 20:23
@ventureoo
ventureoo force-pushed the cachyos-dev-deckify branch 2 times, most recently from cbae2fd to 72df676 Compare March 9, 2026 11:48
@ventureoo
ventureoo force-pushed the cachyos-dev-deckify branch from 72df676 to b520458 Compare April 10, 2026 09:18
@ventureoo

Copy link
Copy Markdown
Member Author

Rebased, again.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/libcalamares/utils/System.h
Comment thread src/modules/netinstall/PackageModel.cpp Outdated
Comment thread src/modules/netinstall/PackageModel.cpp Outdated
Comment thread src/modules/netinstall/netinstall.conf
Comment thread src/libcalamares/utils/System.cpp Outdated
Comment thread src/modules/bootloader/main.py
Comment thread src/libcalamares/utils/System.cpp Outdated
Comment thread src/libcalamares/utils/System.cpp Outdated
Comment thread src/modules/bootloader/main.py
Comment thread src/modules/displaymanager/main.py
Comment thread src/modules/netinstall/PackageModel.cpp Outdated
Comment thread src/scripts/enable-ufw Outdated
Comment thread settings_online.conf
@ventureoo
ventureoo force-pushed the cachyos-dev-deckify branch 2 times, most recently from 15a0c22 to 95686a9 Compare June 23, 2026 14:32
@ventureoo
ventureoo requested a review from vnepogodin June 23, 2026 15:07
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
ventureoo force-pushed the cachyos-dev-deckify branch from 95686a9 to 9a228e1 Compare June 23, 2026 16:08
ventureoo and others added 3 commits June 24, 2026 17:13
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
ventureoo force-pushed the cachyos-dev-deckify branch from 9a228e1 to d1835f2 Compare June 24, 2026 14:14

@vnepogodin vnepogodin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: Peter Jung <admin@ptr1337.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Merge deckify branch with common unified version

5 participants