2024-03-07 00:07:23 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
2024-03-07 11:38:49 +01:00
|
|
|
}: let
|
|
|
|
swayConfig = pkgs.writeText "greetd-sway-config" ''
|
|
|
|
input * {
|
|
|
|
xkb_layout "de"
|
|
|
|
xkb_options "caps:ctrl_modifier"
|
|
|
|
xkb_numlock "enable"
|
|
|
|
}
|
|
|
|
input "type:touchpad" {
|
|
|
|
tap "enable"
|
|
|
|
natural_scroll "enable"
|
|
|
|
}
|
|
|
|
|
|
|
|
exec dbus-sway-environment
|
|
|
|
exec configure-gtk
|
|
|
|
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
|
|
|
exec "${pkgs.greetd.regreet}/bin/regreet; swaymsg exit"
|
|
|
|
bindsym Mod4+shift+e exec swaynag \
|
|
|
|
-t warning \
|
|
|
|
-m 'What do you want to do?' \
|
|
|
|
-b 'Poweroff' 'systemctl poweroff' \
|
|
|
|
-b 'Reboot' 'systemctl reboot'
|
|
|
|
'';
|
|
|
|
in {
|
2024-03-07 11:31:57 +01:00
|
|
|
programs.regreet.enable = true;
|
2024-03-07 11:10:34 +01:00
|
|
|
|
2024-03-07 11:38:49 +01:00
|
|
|
users.users.greeter = {
|
|
|
|
isNormalUser = false;
|
|
|
|
description = "Greeter";
|
|
|
|
extraGroups = [];
|
|
|
|
};
|
|
|
|
|
2024-03-07 00:07:23 +01:00
|
|
|
services.greetd = {
|
|
|
|
enable = true;
|
2024-03-07 11:38:49 +01:00
|
|
|
settings = {
|
2024-03-07 11:31:57 +01:00
|
|
|
initial_session = {
|
2024-03-07 11:38:49 +01:00
|
|
|
command = "${pkgs.sway}/bin/sway --config ${swayConfig}";
|
|
|
|
user = "greeter";
|
2024-03-07 00:07:23 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
environment.etc."greetd/environments".text = ''
|
|
|
|
sway
|
|
|
|
'';
|
|
|
|
}
|