users/guest: add tuigreet as temp launcher
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m21s

This commit is contained in:
2025-10-26 14:09:12 +00:00
parent 5af4dc4ac7
commit af304e3efe
4 changed files with 74 additions and 41 deletions

View File

@@ -102,7 +102,7 @@ in
}; };
desktop = { desktop = {
gnome.enable = lib.mkForce false; gnome.enable = lib.mkForce false;
hyprland.enable = true; hyprland.enable = false;
}; };
}; };
}; };

View File

@@ -17,24 +17,4 @@
".local/share/jellyfinmediaplayer" ".local/share/jellyfinmediaplayer"
".local/share/Jellyfin Media Player" ".local/share/Jellyfin Media Player"
]; ];
systemd.user.services.jellyfin-media-player = {
Unit = {
Description = "Jellyfin Media Player in Gamescope";
After = [
"graphical.target"
"default.target"
];
};
Service = {
ExecStart = ''
${pkgs.gamescope}/bin/gamescope --hdr-enabled --rt --backend drm -- \
${pkgs.jellyfin-media-player}/bin/jellyfinmediaplayer --scale-factor 2 --tv --fullscreen
'';
Restart = "always";
};
Install = {
WantedBy = [ "default.target" ];
};
};
} }

View File

@@ -14,21 +14,4 @@
".local/share/vulkan" ".local/share/vulkan"
".steam" ".steam"
]; ];
systemd.user.services.steam-big-picture = {
Unit = {
Description = "Steam Big Picture in Gamescope";
After = [
"graphical.target"
"default.target"
];
};
Service = {
ExecStart = ''
${pkgs.gamescope}/bin/gamescope --rt --backend drm --steam -- \
${pkgs.steam}/bin/steam -pipewire-dmabuf -tenfoot
'';
Restart = "always";
};
};
} }

View File

@@ -22,6 +22,7 @@ in
]; ];
group = "users"; group = "users";
isNormalUser = true; isNormalUser = true;
password = "";
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
@@ -64,11 +65,80 @@ in
xdg.enable = true; xdg.enable = true;
}; };
services.getty = { services.displayManager = {
autologinOnce = true; enable = true;
autologinUser = "guest"; sessionPackages =
let
steamDesktopFile = pkgs.writeTextFile {
name = "steam-desktop-entry";
destination = "/share/wayland-sessions/steam.desktop";
text = ''
[Desktop Entry]
Name=steam
Comment=Desktop session for gaming
Exec=${pkgs.gamescope}/bin/gamescope --rt --backend drm --steam -- ${pkgs.steam}/bin/steam -pipewire-dmabuf -tenfoot
Type=Application
'';
}; };
jellyfinDesktopFile = pkgs.writeTextFile {
name = "jellyfin-desktop-entry";
destination = "/share/wayland-sessions/jellyfin.desktop";
text = ''
[Desktop Entry]
Name=jellyfin
Comment=Desktop session for music, movies, and TV
Exec=${pkgs.gamescope}/bin/gamescope --rt --backend drm -- ${pkgs.jellyfin-media-player}/bin/jellyfinmediaplayer --scale-factor 2 --tv --fullscreen
Type=Application
'';
};
steamSession = pkgs.symlinkJoin {
name = "steam-session";
paths = [ steamDesktopFile ];
passthru.providedSessions = [ "steam" ];
};
jellyfinSession = pkgs.symlinkJoin {
name = "jellyfin-session";
paths = [ jellyfinDesktopFile ];
passthru.providedSessions = [ "jellyfin " ];
};
in
[
steamSession
jellyfinSession
];
};
services.greetd =
let
desktops = config.services.displayManager.sessionData.desktops;
in
{
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --sessions ${desktops}/share/xsessions:${desktops}/share/wayland-sessions";
};
};
};
# security.pam.services = {
# greetd.text = ''
# auth requisite pam_nologin.so
# auth sufficient pam_succeed_if.so user = ${name} quiet_success
# auth required pam_unix.so
#
# account sufficient pam_unix.so
#
# password required pam_deny.so
#
# session optional pam_keyinit.so revoke
# session include login
# '';
# };
# Workaround: https://github.com/nix-community/home-manager/issues/7166 # Workaround: https://github.com/nix-community/home-manager/issues/7166
systemd.services."home-manager-${name}".serviceConfig = { systemd.services."home-manager-${name}".serviceConfig = {
RemainAfterExit = "yes"; RemainAfterExit = "yes";