WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@igorpecovnik
Copy link
Member

@igorpecovnik igorpecovnik commented Nov 18, 2025

Summary

This update enhances the Armbian GNOME desktop experience by expanding application groups, improving hardware/printing integration, and assigning a branded default user icon during first login.

Changes

AppGroups

  • chat: clean up unused packages; add discord for amd64
  • desktop tools: add baobab
  • multimedia: add shotwell, rhythmbox, rhythmbox-data, totem
  • office: add evince, evince-common, sane-utils

GNOME environment

  • Add missing components:
    cups-browsed, cups-bsd, cups-pk-helper, bluez-cups,bolt, cifs-utils, fprintd,
    additional fonts (noto, arphic, droid, liberation-narrow)

First Login

Add set_user_icon() to automatically assign the default Armbian user avatar

Misc

Quiet docker group creation

How Has This Been Tested?

  • Generated and boot

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

Summary by CodeRabbit

  • New Features

    • Added multimedia apps: photo organizer (Shotwell), music player (Rhythmbox), and video player (Totem)
    • Added document viewer and scanner utilities (Evince, sane‑utils)
    • Added disk usage analyzer (Baobab)
    • Added Discord chat package for AMD64
    • Expanded GNOME support: printing/CUPS, Bluetooth, CIFS, extra fonts, and online accounts
    • Added default user login icon setup during first-run
  • Chores

    • Removed commented-out chat package entries from desktop config

✏️ Tip: You can customize this high-level summary in your review settings.

@igorpecovnik igorpecovnik requested a review from a team as a code owner November 18, 2025 16:49
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 18, 2025

Walkthrough

Updates several desktop appgroup package lists (chat, desktop_tools, multimedia, office, GNOME base, AMD64 chat) to add/remove package entries, and modifies the armbian-firstlogin script to add a new set_user_icon() helper and make docker group creation quieter.

Changes

Cohort / File(s) Summary
Chat appgroup edits
config/desktop/common/appgroups/chat/packages
Removed three commented lines: #pidgin, #purple-discord, #purple-rocketchat.
Desktop tools
config/desktop/common/appgroups/desktop_tools/packages
Added baobab.
Multimedia appgroup
config/desktop/common/appgroups/multimedia/packages
Added shotwell, rhythmbox, rhythmbox-data, totem.
Office appgroup
config/desktop/common/appgroups/office/packages
Added evince, evince-common, sane-utils.
GNOME environment base
config/desktop/common/environments/gnome/config_base/packages
Added packages including cups-browsed, cups-bsd, cups-pk-helper, bolt, bluez-cups, cifs-utils, fprintd, multiple fonts-*, and gnome-online-accounts.
AMD64 chat packages
config/optional/architectures/amd64/_config/desktop/common/appgroups/chat/packages
Added discord.
First-login script
packages/bsp/common/usr/lib/armbian/armbian-firstlogin
Added set_user_icon() to copy default user icon and write AccountsService metadata; invoked during user creation; changed addgroup --system docker to include --quiet.

Sequence Diagram(s)

sequenceDiagram
  participant FL as armbian-firstlogin
  participant FS as Filesystem
  participant AS as AccountsService

  rect rgba(135,206,235,0.12)
  Note over FL: user creation flow (updated)
  FL->>FL: validate username
  FL->>FL: create user & groups (addgroup --system docker --quiet)
  FL->>FS: copy default icon -> /var/lib/AccountsService/icons/<user>
  FS-->>FL: confirm write
  FL->>AS: write /var/lib/AccountsService/users/<user> metadata
  AS-->>FL: persist metadata
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Review focus:
    • packages/bsp/common/usr/lib/armbian/armbian-firstlogin: verify set_user_icon() paths, ownership, permissions, idempotency and error handling.
    • Validate correctness and typos in added package names across config files.

Possibly related PRs

Suggested labels

Patches, size/small

Poem

"I nibble configs in the night,
I tuck new icons snug and right,
Fonts and players join the tune,
Discord hops in — a cheeky boon,
Docker hums, now softer than light." 🐇

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: improving desktop AppGroups (chat, multimedia, office, etc.) and adding default user icon functionality at first login.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch desktop-improve

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 521b222 and 9926c55.

⛔ Files ignored due to path filters (1)
  • packages/bsp/common/usr/share/armbian/armbian-user-icon.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • config/desktop/common/appgroups/chat/packages (0 hunks)
  • config/desktop/common/appgroups/desktop_tools/packages (1 hunks)
  • config/desktop/common/appgroups/multimedia/packages (1 hunks)
  • config/desktop/common/appgroups/office/packages (1 hunks)
  • config/desktop/common/environments/gnome/config_base/packages (1 hunks)
  • config/optional/architectures/amd64/_config/desktop/common/appgroups/chat/packages (1 hunks)
  • packages/bsp/common/usr/lib/armbian/armbian-firstlogin (3 hunks)
💤 Files with no reviewable changes (1)
  • config/desktop/common/appgroups/chat/packages
🚧 Files skipped from review as they are similar to previous changes (6)
  • packages/bsp/common/usr/lib/armbian/armbian-firstlogin
  • config/desktop/common/appgroups/desktop_tools/packages
  • config/optional/architectures/amd64/_config/desktop/common/appgroups/chat/packages
  • config/desktop/common/appgroups/office/packages
  • config/desktop/common/environments/gnome/config_base/packages
  • config/desktop/common/appgroups/multimedia/packages
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Shell script analysis

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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 github-actions bot added 11 Milestone: Fourth quarter release size/medium PR with more then 50 and less then 250 lines Desktop Graphical user interface Needs review Seeking for review BSP Board Support Packages labels Nov 18, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6a64c9a and 3f4ec8c.

⛔ Files ignored due to path filters (1)
  • packages/bsp/common/usr/share/armbian/armbian-user-icon.png is excluded by !**/*.png
📒 Files selected for processing (7)
  • config/desktop/common/appgroups/chat/packages (0 hunks)
  • config/desktop/common/appgroups/desktop_tools/packages (1 hunks)
  • config/desktop/common/appgroups/multimedia/packages (1 hunks)
  • config/desktop/common/appgroups/office/packages (1 hunks)
  • config/desktop/common/environments/gnome/config_base/packages (1 hunks)
  • config/optional/architectures/amd64/_config/desktop/common/appgroups/chat/packages (1 hunks)
  • packages/bsp/common/usr/lib/armbian/armbian-firstlogin (3 hunks)
💤 Files with no reviewable changes (1)
  • config/desktop/common/appgroups/chat/packages
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: welcome-first-time-contributor
🔇 Additional comments (8)
config/desktop/common/appgroups/office/packages (1)

1-2: LGTM! Office package additions are appropriate.

The additions of Evince (document viewer) and sane-utils (scanner support) appropriately expand office functionality for desktop environments.

Also applies to: 7-7

config/desktop/common/appgroups/desktop_tools/packages (1)

2-2: LGTM! Baobab is a useful desktop tool addition.

Baobab (GNOME disk usage analyzer) is a standard utility that fits well in the desktop tools group.

config/desktop/common/appgroups/multimedia/packages (1)

5-7: LGTM! Multimedia package additions enhance GNOME desktop experience.

The additions of Shotwell (photo manager), Rhythmbox (music player), and Totem (video player) are standard GNOME multimedia applications that appropriately expand the multimedia appgroup.

Also applies to: 9-9

config/optional/architectures/amd64/_config/desktop/common/appgroups/chat/packages (1)

1-1: LGTM! AMD64-specific Discord package addition is appropriate.

Adding Discord as an AMD64-specific chat application aligns with the PR objectives and makes sense given Discord's architecture limitations.

config/desktop/common/environments/gnome/config_base/packages (2)

5-11: LGTM! Printing and hardware integration packages enhance GNOME functionality.

The additions of CUPS components, Bluetooth support (bluez-cups), Thunderbolt support (bolt), fingerprint support (fprintd), and CIFS utilities appropriately expand hardware and printing integration for GNOME desktop environments.


18-23: LGTM! Font additions improve internationalization support.

The additional Noto, Arphic, Droid, and Liberation fonts enhance multilingual and CJK language support for GNOME desktop environments.

packages/bsp/common/usr/lib/armbian/armbian-firstlogin (2)

611-611: LGTM! Docker group creation improvement.

Adding the --quiet flag appropriately suppresses normal output while preserving error handling on line 612.


643-665: I'll search for AccountsService documentation to verify the metadata timing concern.

No verification issues found; the code pattern is valid.

AccountsService is used to manage user configuration, and metadata files in /var/lib/AccountsService/users/ are a standard approach for configuring user properties. The set_user_icon() function correctly pre-creates the metadata file before the user account is added to /etc/passwd at line 589. When AccountsService loads users, it will recognize and apply metadata from existing files, so the icon metadata will be available when the user account is subsequently created.

@igorpecovnik igorpecovnik force-pushed the desktop-improve branch 2 times, most recently from 421c46f to 521b222 Compare November 18, 2025 18:53
@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Nov 20, 2025
@igorpecovnik igorpecovnik merged commit 9b2843d into main Nov 20, 2025
11 of 12 checks passed
@igorpecovnik igorpecovnik deleted the desktop-improve branch November 20, 2025 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Milestone: Fourth quarter release BSP Board Support Packages Desktop Graphical user interface Ready to merge Reviewed, tested and ready for merge size/medium PR with more then 50 and less then 250 lines

Development

Successfully merging this pull request may close these issues.

2 participants