Skip to content

Enable systemd-homed support by default - #962

Open
dylanmtaylor wants to merge 2 commits into
projectbluefin:nextfrom
dylanmtaylor:homed
Open

Enable systemd-homed support by default#962
dylanmtaylor wants to merge 2 commits into
projectbluefin:nextfrom
dylanmtaylor:homed

Conversation

@dylanmtaylor

@dylanmtaylor dylanmtaylor commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

Integrates a patch to enable systemd-homed unconditionally across the GNOME stack. This involves:

  • Enabling -Dcreate_homed=true in accountsservice.
  • Removing malcontent dependencies and disabling parental controls from gnome-control-center, gnome-initial-setup, and gnome-software.
  • Configuring the live generator to set DefaultStorage=subvolume for homed home directories.

This is a port of gnome-build-meta!2681.

Summary by CodeRabbit

New Features

  • Added systemd-homed support enabling centralized home directory management and administration within GNOME OS.

Chores

  • Updated GNOME build configurations across multiple components for systemd-homed integration.
  • Disabled parental controls functionality.

@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 250d6935-38d7-49d0-b307-798ed2817afe

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

A new patch file adds systemd-homed support to the GNOME OS live build: accountsservice gains the -Dcreate_homed=true Meson flag; gnome-control-center, gnome-initial-setup, and gnome-software drop the malcontent dependency and related flags; gnome-initial-setup switches to a Git source on the homed branch; and the live ISO generator writes a /run/systemd/homed.conf.d/00-force-subvolume.conf drop-in forcing DefaultStorage=subvolume.

Changes

systemd-homed Support Patch

Layer / File(s) Summary
Build element changes: homed enable, malcontent removal
patches/gnome-build-meta/0003-homed-Add-systemd-homed-support.patch
Patch header declares modified files; accountsservice.bst adds -Dcreate_homed=true; gnome-control-center.bst and gnome-software.bst remove the malcontent dependency and build flag; gnome-initial-setup.bst switches source to a Git repo tracking the homed branch, drops malcontent, and disables parental controls.
Live ISO generator: homed.conf.d drop-in
patches/gnome-build-meta/0003-homed-Add-systemd-homed-support.patch
generator.c adds a second FILE*, creates /run/systemd/homed.conf.d/, and writes 00-force-subvolume.conf with [Home]\nDefaultStorage=subvolume\n.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

A rabbit hops through /run/systemd/,
Digging subvolumes with glee 🐇
No malcontent to slow the way,
Just homed accounts here to stay—
DefaultStorage=subvolume, hooray! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Enable systemd-homed support by default' accurately summarizes the main objective of the changeset, which is to enable systemd-homed support across the GNOME stack.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

This PR targets testing instead of main. Please retarget it to main — the testing branch is managed by the promotion pipeline and must not receive direct PRs.

@dylanmtaylor
dylanmtaylor changed the base branch from testing to main June 20, 2026 15:57
@dylanmtaylor
dylanmtaylor marked this pull request as ready for review June 20, 2026 15:59
@dylanmtaylor
dylanmtaylor requested a review from a team as a code owner June 20, 2026 15:59

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@patches/gnome-build-meta/0003-homed-Add-systemd-homed-support.patch`:
- Around line 113-116: Add proper error handling to the homed configuration
creation code. First, check the return value of the fopen call (which creates
the file at /run/systemd/homed.conf.d/00-force-subvolume.conf) before calling
fprintf on it to prevent NULL pointer dereference. Second, change the mkdir
permissions from 0777 to 0755 for more restrictive directory permissions, and
check the mkdir return value to handle EEXIST errors for idempotency (this
allows the code to work if the directory already exists). Additionally, include
the errno.h header to enable proper error checking utilities for these system
calls.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b5c89439-14e8-44b8-9ecf-1a76ddb07951

📥 Commits

Reviewing files that changed from the base of the PR and between 73d9f70 and 8baa8d6.

📒 Files selected for processing (1)
  • patches/gnome-build-meta/0003-homed-Add-systemd-homed-support.patch

Comment thread patches/gnome-build-meta/0003-homed-Add-systemd-homed-support.patch Outdated
@castrojo

Copy link
Copy Markdown
Contributor

Hey @dylanmtaylor — sorry for the noise here. The next branch was heavily advanced with CI changes after you forked, which made your PR appear to remove ~30 workflow files. That's entirely CI drift, not your change.

Your actual contribution is exactly one file (patches/gnome-build-meta/0003-homed-Add-systemd-homed-support.patch) and it's clean.

I've opened #964 which is a cherry-pick of your patch onto the current next tip — same content, no noise. The original reviewers have been re-requested there.

This PR (#962) can be closed in favour of #964. Thanks for the contribution!

@github-actions

Copy link
Copy Markdown
Contributor

This PR targets next instead of main. Please retarget it to main — the next branch is managed by the promotion pipeline and must not receive direct PRs.

@github-actions

Copy link
Copy Markdown
Contributor

This PR targets next instead of main. Please retarget it to main — the next branch is managed by the promotion pipeline and must not receive direct PRs.

@hanthor hanthor 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.

Merge conflict on next branch — needs rebase. The systemd-homed patch itself is well-structured with clear upstream tracking and exit condition. CI validate passes. Please rebase and re-push.

@dylanmtaylor

Copy link
Copy Markdown
Collaborator Author

Merge conflict on next branch — needs rebase. The systemd-homed patch itself is well-structured with clear upstream tracking and exit condition. CI validate passes. Please rebase and re-push.

It didn't have a merge conflict earlier, but it looks like 963 was pushed straight to the next branch without my authorship? I'll rebase this anyways.

@dylanmtaylor
dylanmtaylor changed the base branch from next to main June 21, 2026 12:05
@dylanmtaylor
dylanmtaylor changed the base branch from main to next June 21, 2026 12:06
Closes projectbluefin#962

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot
@github-actions

Copy link
Copy Markdown
Contributor

This PR targets next instead of main. Please retarget it to main — the next branch is managed by the promotion pipeline and must not receive direct PRs.

@dylanmtaylor
dylanmtaylor changed the base branch from next to testing June 21, 2026 12:21
@dylanmtaylor
dylanmtaylor changed the base branch from testing to next June 21, 2026 16:46
@dylanmtaylor
dylanmtaylor requested a review from hanthor June 21, 2026 16:54

@hanthor hanthor 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. Reviewed 2026-06-24.

@castrojo castrojo added 4-review A pull request is awaiting review. and removed pr/needs-review labels Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4-review A pull request is awaiting review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants