fix: install dinit service packages through netinstall Default group instead of packagechooser

basestrap module (from calamares-extensions) reads netinstallAdd only
for the init provider name (e.g. 'dinit') to add elogind-dinit. It
does NOT install the subgroup packages from the user's packagechooser
selection (networkmanager-dinit, pipewire-dinit, etc.). So these were
selected in the GUI but never present in the target system.

Since the netinstall view's packageOperations -> packages module flow
works correctly, move all required *-dinit service packages into the
netinstall.yaml Default group (online) and profile.yaml rootfs (offline).

Also revert settings.conf back to services-artix + postcfg — these
modules DO exist (from calamares-extensions) and work correctly when
the service packages are installed. Remove the unnecessary shellprocess
files that were added as a mistaken workaround.
This commit is contained in:
2026-07-07 17:40:50 +02:00
parent 0f3ed4f346
commit 5b0cbc5102
8 changed files with 23 additions and 113 deletions
@@ -1,5 +0,0 @@
---
dontChroot: true
timeout: 60
script:
- "-/usr/local/bin/enable-services.sh ${USER} ${ROOT}"
@@ -26,18 +26,14 @@ sequence:
- displaymanager
- networkcfg
- hwclock
- shellprocess@enable-services
- services-artix
- grubcfg
- bootloader
- postcfg
- umount
- show:
- finished
instances:
- id: enable-services
module: shellprocess
config: enable-services.conf
branding: antergos-next
prompt-install: false
@@ -1,5 +0,0 @@
---
dontChroot: true
timeout: 60
script:
- "-/usr/local/bin/enable-services.sh ${USER} ${ROOT}"
@@ -30,9 +30,10 @@ sequence:
- displaymanager
- networkcfg
- hwclock
- shellprocess@enable-services
- services-artix
- grubcfg
- bootloader
- postcfg
- umount
- show:
- finished
@@ -41,9 +42,6 @@ instances:
- id: dm
module: packagechooser
config: packagechooser_dm.conf
- id: enable-services
module: shellprocess
config: enable-services.conf
branding: antergos-next
@@ -1,5 +0,0 @@
---
dontChroot: true
timeout: 60
script:
- "-/usr/local/bin/enable-services.sh ${USER} ${ROOT}"
@@ -23,6 +23,19 @@
- pipewire-alsa
- pipewire-pulse
- wireplumber
- networkmanager-dinit
- pipewire-dinit
- pipewire-pulse-dinit
- wireplumber-dinit
- dbus-dinit
- sddm-dinit
- syslog-ng-dinit
- acpid-dinit
- bluez-dinit
- cronie-dinit
- cups-dinit
- dhcpcd-dinit
- power-profiles-daemon-dinit
- name: "Kernel"
description: "Kernel and modules"
@@ -1,88 +0,0 @@
#!/usr/bin/bash
set -e
USERNAME="${1:-}"
ROOT="${2:-}"
if [[ -z "$ROOT" ]]; then
ROOT="/"
fi
chroot_run() {
chroot "$ROOT" "$@"
}
svc_enable_dinit() {
for svc in NetworkManager acpid bluetoothd cronie cupsd dbus dhcpcd power-profiles-daemon sddm syslog-ng; do
if [[ -f "$ROOT/etc/dinit.d/$svc" ]]; then
chroot_run ln -sf /etc/dinit.d/"$svc" /etc/dinit.d/boot.d/"$svc"
fi
done
chroot_run ln -sf /usr/lib/dinit.d/dinit-user-spawn /etc/dinit.d/boot.d/
}
usr_svc_enable_dinit() {
local user="$1"
if [[ -z "$user" ]] || [[ ! -d "$ROOT/home/$user" ]]; then
return
fi
for svc in pipewire wireplumber; do
if [[ -f "$ROOT/etc/dinit.d/user/$svc" ]]; then
chroot_run mkdir -p "/home/$user/.config/dinit.d/boot.d"
chroot_run ln -sf "/etc/dinit.d/user/$svc" "/home/$user/.config/dinit.d/boot.d/$svc"
chroot_run chown -R "$user:$user" "/home/$user/.config/dinit.d"
fi
done
}
svc_enable_openrc() {
for svc in NetworkManager acpid bluetoothd cronie cupsd dbus dhcpcd power-profiles-daemon sddm syslog-ng; do
if [[ -f "$ROOT/etc/init.d/$svc" ]]; then
chroot_run rc-update add "$svc" default
fi
done
}
usr_svc_enable_openrc() {
local user="$1"
if [[ -z "$user" ]] || [[ ! -d "$ROOT/home/$user" ]]; then
return
fi
for svc in pipewire pipewire-pulse wireplumber; do
if [[ -f "$ROOT/etc/user/init.d/$svc" ]]; then
chroot_run mkdir -p "/home/$user/.config/rc/runlevels/default"
chroot_run ln -sf "/etc/user/init.d/$svc" "/home/$user/.config/rc/runlevels/default/$svc"
chroot_run chown -R "$user:$user" "/home/$user/.config/rc"
fi
done
}
svc_enable_runit() {
for svc in NetworkManager acpid bluetoothd cronie cupsd dbus dhcpcd power-profiles-daemon sddm syslog-ng; do
if [[ -d "$ROOT/etc/runit/sv/$svc" ]]; then
chroot_run ln -sf /etc/runit/sv/"$svc" /etc/runit/runsvdir/default/"$svc"
fi
done
}
svc_enable_s6() {
for svc in NetworkManager acpid bluetoothd cronie cupsd dbus dhcpcd power-profiles-daemon sddm syslog-ng; do
if [[ -d "$ROOT/etc/s6/sv/$svc" ]] || [[ -d "$ROOT/etc/s6/sv/${svc}-srv" ]]; then
chroot_run s6-service add default "$svc"
fi
done
chroot_run s6-db-reload -r
}
if [[ -f "$ROOT/usr/bin/dinitctl" ]]; then
svc_enable_dinit
usr_svc_enable_dinit "$USERNAME"
elif [[ -f "$ROOT/usr/bin/rc-update" ]]; then
svc_enable_openrc
usr_svc_enable_openrc "$USERNAME"
elif [[ -f "$ROOT/usr/bin/runsvdir" ]]; then
svc_enable_runit
elif [[ -f "$ROOT/usr/bin/s6-service" ]]; then
svc_enable_s6
fi
+6
View File
@@ -50,6 +50,12 @@ rootfs:
- sddm-dinit
- networkmanager-dinit
- cups-dinit
- acpid-dinit
- bluez-dinit
- cronie-dinit
- dbus-dinit
- dhcpcd-dinit
- power-profiles-daemon-dinit
openrc:
- pipewire-openrc
- pipewire-pulse-openrc