nix/nixos/displaymanager.nix
2025-04-05 16:34:08 -05:00

53 lines
1.1 KiB
Nix

{
config,
pkgs,
lib,
...
}:
{
options.custom = with lib; {
displaymanager = {
enable = mkEnableOption "Enable displaymanager";
};
};
config = lib.mkIf config.custom.displaymanager.enable {
services = {
xserver = {
enable = true;
desktopManager = {
xterm.enable = false;
};
displayManager = {
lightdm = {
enable = true;
greeters.enso = {
enable = true;
};
};
session = [
{
manage = "window";
name = "hm";
start = ''
export CURRENT_XSESSION="hm"
${pkgs.stdenv.shell} $HOME/.xsession-hm &
waitPID=$!
'';
}
];
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
dmenu
i3status
i3lock
];
};
};
xserver.xkb.layout = "us";
gnome.gnome-keyring.enable = true;
};
};
}