mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-04-18 14:42:20 +00:00
feat(bazzite-autologin): Merge gamescope and desktop autologin
I started messing with systemd conditions to ensure that one ran before the other and vice versa, but this is a whole lot simpler. If Steam has updated, launch gamescope. If not, start to desktop
This commit is contained in:
parent
975986f849
commit
967d52511a
@ -380,8 +380,7 @@ RUN rm /usr/share/applications/wine*.desktop && \
|
|||||||
systemctl disable gdm.service && \
|
systemctl disable gdm.service && \
|
||||||
systemctl enable sddm.service \
|
systemctl enable sddm.service \
|
||||||
; fi && \
|
; fi && \
|
||||||
systemctl enable desktop-autologin.service && \
|
systemctl enable bazzite-autologin.service && \
|
||||||
systemctl enable gamescope-autologin.service && \
|
|
||||||
systemctl enable jupiter-fan-control.service && \
|
systemctl enable jupiter-fan-control.service && \
|
||||||
systemctl enable btrfs-dedup@run-media-mmcblk0p1.timer && \
|
systemctl enable btrfs-dedup@run-media-mmcblk0p1.timer && \
|
||||||
systemctl enable vpower.service && \
|
systemctl enable vpower.service && \
|
||||||
|
@ -8,8 +8,15 @@ USER=$(id -nu 1000)
|
|||||||
# SteamOS SDDM config
|
# SteamOS SDDM config
|
||||||
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
|
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
|
||||||
|
|
||||||
# Configure SDDM autologin
|
# Configure autologin if Steam has been updated
|
||||||
if [[ ${BASE_IMAGE_NAME} =~ "kinoite" ]]; then
|
if [[ -f /var/home/$USER/.local/share/Steam/ubuntu12_32/steamui.so ]]; then
|
||||||
|
AUTOLOGIN_CONF='/etc/sddm.conf.d/zz-steamos-autologin.conf'
|
||||||
|
# Avoid autologin conflict
|
||||||
|
if [[ -f ${AUTOLOGIN_CONF} ]]; then
|
||||||
|
rm -f ${AUTOLOGIN_CONF}
|
||||||
|
fi
|
||||||
|
sed -i 's/.*Session=.*/Session=gamescope-session.desktop/g' ${SDDM_CONF}
|
||||||
|
elif [[ ${BASE_IMAGE_NAME} =~ "kinoite" ]]; then
|
||||||
if ${DESKTOP_WAYLAND}; then
|
if ${DESKTOP_WAYLAND}; then
|
||||||
sed -i 's/.*Session=.*/Session=plasma.desktop/g' ${SDDM_CONF}
|
sed -i 's/.*Session=.*/Session=plasma.desktop/g' ${SDDM_CONF}
|
||||||
else
|
else
|
@ -1,21 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
USER=$(id -nu 1000)
|
|
||||||
|
|
||||||
# SteamOS SDDM config
|
|
||||||
SDDM_CONF='/etc/sddm.conf.d/steamos.conf'
|
|
||||||
AUTOLOGIN_CONF='/etc/sddm.conf.d/zz-steamos-autologin.conf'
|
|
||||||
|
|
||||||
# Avoid autologin conflict
|
|
||||||
if [[ -f ${AUTOLOGIN_CONF} ]]; then
|
|
||||||
rm -f ${AUTOLOGIN_CONF}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Configure autologin if Steam has been updated
|
|
||||||
if [[ -f /var/home/$USER/.local/share/Steam/ubuntu12_32/steamui.so ]]; then
|
|
||||||
sed -i 's/.*Session=.*/Session=gamescope-session.desktop/g' ${SDDM_CONF}
|
|
||||||
sed -i 's/.*User=.*/User='${USER}'/g' ${SDDM_CONF}
|
|
||||||
if systemctl is-enabled --quiet desktop-autologin; then
|
|
||||||
systemctl disable --now desktop-autologin
|
|
||||||
fi
|
|
||||||
fi
|
|
@ -1,8 +1,7 @@
|
|||||||
polkit.addRule(function(action, subject) {
|
polkit.addRule(function(action, subject) {
|
||||||
if (subject.isInGroup("wheel") &&
|
if (subject.isInGroup("wheel") &&
|
||||||
action.id == "org.freedesktop.systemd1.manage-units" &&
|
action.id == "org.freedesktop.systemd1.manage-units" &&
|
||||||
(action.lookup("unit") == "desktop-autologin.service" ||
|
action.lookup("unit") == "bazzite-autologin.service")
|
||||||
action.lookup("unit") == "gamescope-autologin.service"))
|
|
||||||
{
|
{
|
||||||
return polkit.Result.YES;
|
return polkit.Result.YES;
|
||||||
}
|
}
|
@ -1,10 +1,10 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Enables autologin to desktop
|
Description=Enables Bazzite autologin
|
||||||
Before=display-manager.service
|
Before=display-manager.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=/usr/bin/desktop-autologin
|
ExecStart=/usr/bin/bazzite-autologin
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
@ -1,10 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Enables autologin to gamescope-session
|
|
||||||
Before=display-manager.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/usr/bin/gamescope-autologin
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
Loading…
x
Reference in New Issue
Block a user