2024-07-10 20:12:46 -04:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: let
|
2024-06-27 00:56:27 -04:00
|
|
|
cfg = config.roles.desktop;
|
|
|
|
|
2024-06-24 12:30:49 -04:00
|
|
|
hyprland =
|
|
|
|
config
|
|
|
|
.home-manager
|
|
|
|
.users
|
2024-06-27 00:56:27 -04:00
|
|
|
.${cfg.user}
|
2024-06-24 12:30:49 -04:00
|
|
|
.wayland
|
|
|
|
.windowManager
|
|
|
|
.hyprland
|
|
|
|
.finalPackage;
|
2024-07-10 20:12:46 -04:00
|
|
|
|
|
|
|
cmd = toString (pkgs.writeShellScript "hyprland-wrapper" ''
|
|
|
|
trap 'systemctl --user stop hyprland-session.target; sleep 1' EXIT
|
|
|
|
exec Hyprland >/dev/null
|
|
|
|
'');
|
2023-10-19 17:05:13 -04:00
|
|
|
in {
|
2024-06-27 00:56:27 -04:00
|
|
|
imports = [
|
|
|
|
./astal.nix
|
2024-07-10 16:56:19 -04:00
|
|
|
./hyprland.nix
|
2024-06-27 00:56:27 -04:00
|
|
|
];
|
2023-10-19 17:05:13 -04:00
|
|
|
|
2023-12-04 01:13:24 -05:00
|
|
|
services = {
|
2024-05-01 10:21:28 -04:00
|
|
|
displayManager.sessionPackages = [hyprland];
|
2023-12-04 01:13:24 -05:00
|
|
|
|
|
|
|
greetd = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
default_session = {
|
2024-07-10 20:12:46 -04:00
|
|
|
command = cmd;
|
2023-12-04 01:13:24 -05:00
|
|
|
user = "greeter";
|
|
|
|
};
|
|
|
|
|
|
|
|
initial_session = {
|
2024-07-10 20:12:46 -04:00
|
|
|
command = cmd;
|
2024-06-27 00:56:27 -04:00
|
|
|
user = cfg.user;
|
2023-12-04 01:13:24 -05:00
|
|
|
};
|
2023-10-19 17:05:13 -04:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
# unlock GPG keyring on login
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
security.pam.services.greetd.enableGnomeKeyring = true;
|
|
|
|
}
|