{ config, pkgs, lib, ... }: let inherit (lib) optional ; name = "guest"; hostFile = ./. + "/${config.networking.hostName}.nix"; in { users.users.${name} = { description = "Guest"; extraGroups = [ "audio" "input" "render" "video" ]; group = "users"; isNormalUser = true; shell = pkgs.zsh; }; home-manager.users.${name} = { imports = [ ./common/optional/graphical/steam.nix { home.persistence."/state" = { directories = [ ".local/state/wireplumber" ]; }; home.persistence."/persist" = { directories = [ ".config/gamescope" ".local/share/icons" ".local/share/Steam" ".local/share/vulkan" ".steam" ]; }; } ] ++ optional (builtins.pathExists hostFile) hostFile; home = { username = name; }; xdg.enable = true; }; services.getty = { autologinOnce = true; autologinUser = "guest"; }; # Workaround: https://github.com/nix-community/home-manager/issues/7166 systemd.services."home-manager-${name}".serviceConfig = { RemainAfterExit = "yes"; }; }