46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
homeCfgs = config.home-manager.users;
|
|
homeSharePaths = lib.mapAttrsToList (_: v: "${v.home.path}/share") homeCfgs;
|
|
vars = ''XDG_DATA_DIRS="$XDG_DATA_DIRS:${lib.concatStringsSep ":" homeSharePaths}" GTK_USE_PORTAL=0'';
|
|
|
|
julianCfg = homeCfgs.julian;
|
|
|
|
sway-kiosk = command: "${lib.getExe pkgs.sway} --unsupported-gpu --config ${pkgs.writeText "kiosk.config" ''
|
|
output * bg #000000 solid_color
|
|
xwayland disable
|
|
input "type:touchpad" {
|
|
tap enabled
|
|
}
|
|
exec '${vars} ${command}; ${pkgs.sway}/bin/swaymsg exit'
|
|
''}";
|
|
in {
|
|
users.extraUsers.greeter = {
|
|
# For caching and such
|
|
home = "/tmp/greeter-home";
|
|
createHome = true;
|
|
};
|
|
|
|
programs.regreet = {
|
|
enable = true;
|
|
iconTheme = julianCfg.gtk.iconTheme;
|
|
theme = julianCfg.gtk.theme;
|
|
# font = julianCfg.fontProfiles.regular; # TODO: do
|
|
cursorTheme = {
|
|
inherit (julianCfg.gtk.cursorTheme) name package;
|
|
};
|
|
# settings.background = {
|
|
# path = julianCfg.wallpaper;
|
|
# fit = "Cover";
|
|
# }; # TODO: fix
|
|
};
|
|
services.greetd = {
|
|
enable = true;
|
|
settings.default_session.command = sway-kiosk (lib.getExe config.programs.regreet.package);
|
|
};
|
|
}
|