| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0 | 8 | ~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86 | 0 |
# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Gentoo defaults for SDDM (Simple Desktop Display Manager)"
HOMEPAGE="https://wiki.gentoo.org/wiki/SDDM"
SRC_URI=""
S=${WORKDIR}
LICENSE="public-domain"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="kwin systemd weston"
REQUIRED_USE="?? ( kwin weston )"
RDEPEND="
!<x11-misc/sddm-0.21.0_p20250818
kwin? ( kde-plasma/kwin:6 )
weston? ( dev-libs/weston[kiosk] )
!kwin? ( !weston? ( x11-base/xorg-server ) )
"
GEN2CONF=01gentoo.conf
src_prepare() {
touch "${T}"/${GEN2CONF} || die
_displayserver() {
if use kwin || use weston; then
echo "wayland"
else
echo "x11"
fi
}
_compositorcommand() {
local cc=()
if use kwin; then
cc=( kwin_wayland --drm )
has_version "kde-plasma/kwin[lock]" && cc+=( --no-lockscreen )
has_version "kde-plasma/kwin[shortcuts]" && cc+=( --no-global-shortcuts )
use systemd && cc+=( --locale1 )
else
cc=( weston --shell=kiosk )
fi
echo "${cc[@]}"
}
cat >> "${T}"/${GEN2CONF} <<- _EOF_ || die
[General]
# Remove qtvirtualkeyboard as InputMethod default
InputMethod=
# Which display server should be used
DisplayServer=$(_displayserver)
_EOF_
if use kwin; then
cat >> "${T}"/${GEN2CONF} <<- _EOF_ || die
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell
[Wayland]
CompositorCommand=$(_compositorcommand)
_EOF_
fi
default
}
src_install() {
insinto /etc/sddm.conf.d/
doins "${T}"/${GEN2CONF}
}
!<x11-misc/sddm-0.21.0_p20250818 kwin? ( kde-plasma/kwin:6 ) weston? ( dev-libs/weston[kiosk] ) !kwin? ( !weston? ( x11-base/xorg-server ) )