nixos-config/modules/greetd/default.nix

48 lines
1.2 KiB
Nix

{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.eboskma.greetd;
in
{
options.eboskma.greetd = {
enable = mkEnableOption "enable greetd";
};
config = mkIf (cfg.enable)
{
services.greetd = {
enable = true;
restart = true;
settings = {
default_session = {
command = "${pkgs.sway}/bin/sway --config /etc/greetd/sway-config";
};
};
};
environment.systemPackages = [ pkgs.greetd.gtkgreet ];
environment.etc = {
"greetd/sway-config" = {
text = ''
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l; 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'
'';
user = "greeter";
group = "greeter";
};
"greetd/environments" = {
text = ''
${pkgs.sway}/bin/sway
${pkgs.bash}/bin/bash
'';
user = "greeter";
group = "greeter";
};
};
};
}