-
-
Notifications
You must be signed in to change notification settings - Fork 37
KDE Plasma package has been added to the script. #219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Adding plasma packages
Adding plasma packages to vital
update the KDE plasma 6 build step
Reviewer's GuideThis PR adds support for building GhostBSD with KDE Plasma 6 by extending the documentation with a new build option, introducing a dedicated plasma.sh configuration script for SDDM and xinit, and creating placeholder directories for Plasma packages. Sequence Diagram for Plasma Desktop Configuration via plasma.shsequenceDiagram
actor User
participant B as "build.sh"
participant P as "desktop_config/plasma.sh"
participant SF as "System Files & Configs"
User->>B: Execute ./build.sh -d plasma
B->>P: Invoke for Plasma setup
P->>P: Source common_config/*sh
P->>SF: Apply generic patches (patch_etc_files)
P->>SF: Setup live user (community_setup_liveuser)
P->>SF: Setup autologin (community_setup_autologin)
P->>P: Perform SDDM setup (sddm_setup)
activate P
P->>SF: Configure /etc/sddm.conf (Autologin, Theme, Session)
deactivate P
P->>P: Perform Xinit setup (setup_xinit)
activate P
P->>SF: Configure kscreenlockerrc for live_user (disable autolock)
P->>SF: Configure .xinitrc for live_user, root, skel (startplasma-x11)
deactivate P
P->>SF: Apply final setup (final_setup)
P-->>B: Plasma configuration complete
B-->>User: GhostBSD image with KDE Plasma built
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @SunilSherkhane - I've reviewed your changes and they look great!
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location> `desktop_config/plasma.sh:6` </location>
<code_context>
+set -e -u
+
+# Source common configuration scripts
+. "${cwd}/common_config/autologin.sh"
+. "${cwd}/common_config/base-setting.sh"
+. "${cwd}/common_config/finalize.sh"
</code_context>
<issue_to_address>
Undefined variable 'cwd' used for sourcing
Please define 'cwd' before using it, such as with cwd=$(dirname "$0"), or use an explicit path.
</issue_to_address>
### Comment 2
<location> `desktop_config/plasma.sh:48` </location>
<code_context>
+ mkdir -p /home/${live_user}/.config
+ kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key Autolock false
+ kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key LockOnResume false
+ echo 'exec ck-launch-session startplasma-x11' >> /home/${live_user}/.xinitrc
+ "
+
</code_context>
<issue_to_address>
Appending .xinitrc exec line without idempotency check
This can cause duplicate lines; check if the line exists before appending.
</issue_to_address>
<suggested_fix>
<<<<<<< SEARCH
kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key LockOnResume false
echo 'exec ck-launch-session startplasma-x11' >> /home/${live_user}/.xinitrc
"
=======
kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key LockOnResume false
grep -qxF 'exec ck-launch-session startplasma-x11' /home/${live_user}/.xinitrc || echo 'exec ck-launch-session startplasma-x11' >> /home/${live_user}/.xinitrc
"
>>>>>>> REPLACE
</suggested_fix>
### Comment 3
<location> `desktop_config/plasma.sh:53` </location>
<code_context>
+
+ # Set the same .xinitrc for root and skel
+ echo "exec ck-launch-session startplasma-x11" > "${release}/root/.xinitrc"
+ echo "exec ck-launch-session startplasma-x11" > "${release}/usr/share/skel/dot.xinitrc"
+}
+
</code_context>
<issue_to_address>
Skeleton file named 'dot.xinitrc' instead of '.xinitrc'
The file in the skel directory should be named '.xinitrc' (with a leading dot) to ensure it is correctly copied to new user home directories. 'dot.xinitrc' will not be recognized by default.
</issue_to_address>
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
set -e -u | ||
|
||
# Source common configuration scripts | ||
. "${cwd}/common_config/autologin.sh" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue (bug_risk): Undefined variable 'cwd' used for sourcing
Please define 'cwd' before using it, such as with cwd=$(dirname "$0"), or use an explicit path.
kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key LockOnResume false | ||
echo 'exec ck-launch-session startplasma-x11' >> /home/${live_user}/.xinitrc | ||
" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion (bug_risk): Appending .xinitrc exec line without idempotency check
This can cause duplicate lines; check if the line exists before appending.
kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key LockOnResume false | |
echo 'exec ck-launch-session startplasma-x11' >> /home/${live_user}/.xinitrc | |
" | |
kwriteconfig5 --file /home/${live_user}/.config/kscreenlockerrc --group Daemon --key LockOnResume false | |
grep -qxF 'exec ck-launch-session startplasma-x11' /home/${live_user}/.xinitrc || echo 'exec ck-launch-session startplasma-x11' >> /home/${live_user}/.xinitrc | |
" |
|
||
# Set the same .xinitrc for root and skel | ||
echo "exec ck-launch-session startplasma-x11" > "${release}/root/.xinitrc" | ||
echo "exec ck-launch-session startplasma-x11" > "${release}/usr/share/skel/dot.xinitrc" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
issue (bug_risk): Skeleton file named 'dot.xinitrc' instead of '.xinitrc'
The file in the skel directory should be named '.xinitrc' (with a leading dot) to ensure it is correctly copied to new user home directories. 'dot.xinitrc' will not be recognized by default.
Sunil, are you volunteering to take responsibility for addressing all future KDE Plasma-related questions and issues? If we are to include KDE Plasma as an option, we need a dedicated technical lead to manage and support it. We want to avoid placing the burden on Eric to troubleshoot and maintain every desktop environment offered. |
@SunilSherkhane I am waiting only to answer @xcrsz question. |
Sure, I will answer the questions |
KDE Plasma package has been added to the script. Tried and tested and it works normally. need to modify common packages and move it to DE Specific
Summary by Sourcery
Add KDE Plasma 6 as a supported desktop environment in the build script with its own configuration and packaging directories.
New Features:
Documentation: