nixos/modules/nixos/greetd.nix

51 lines
1.1 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}: 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 {
programs.regreet.enable = true;
users.users.greeter = {
isNormalUser = false;
description = "Greeter";
extraGroups = [];
};
services.greetd = {
enable = true;
settings = {
initial_session = {
command = "${pkgs.sway}/bin/sway --config ${swayConfig}";
user = "greeter";
};
};
};
environment.etc."greetd/environments".text = ''
sway
'';
}