DashNix/nix/base/login_manager.nix

61 lines
1.3 KiB
Nix

{ inputs
, lib
, config
, pkgs
, ...
}:
let
regreet_override = pkgs.greetd.regreet.overrideAttrs (final: prev: {
SESSION_DIRS = "${config.services.xserver.displayManager.sessionData.desktops}/share";
});
session = {
command = "${lib.getExe pkgs.hyprland} --config /etc/greetd/hyprgreet.conf";
user = "dashie";
};
in
{
services.xserver.displayManager.session = [
{
manage = "desktop";
name = "Hyprland";
start = ''
${lib.getExe pkgs.hyprland} & waitPID=$!
'';
}
];
# greetd display manager
programs.hyprland.enable = true;
services.greetd = {
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
};
};
environment.etc."greetd/environments".text = ''
Hyprland
'';
environment.etc."greetd/hyprgreet.conf".text = ''
exec-once=gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
monitor=${config.programs.ironbar.monitor},3440x1440@180,0x0,${config.programs.ironbar.scale}
monitor=_,disable
input {
force_no_accel = true
}
misc {
disable_splash_rendering = true
disable_hyprland_logo = true
}
exec-once=regreet --style /home/dashie/.config/gtk-3.0/gtk.css; hyprctl dispatch exit
'';
# unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true;
}