.hive/modules/desktop/de/hyprland.nix

48 lines
981 B
Nix

{
lib,
config,
pkgs,
...
}: let
cfg = config.desktop.de.hyprland;
in {
options.desktop.de.hyprland = {
enable = lib.mkEnableOption "enable hyprland desktop environment";
};
config = lib.mkIf cfg.enable {
services = {
libinput.enable = true;
dbus.enable = true;
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-wlr
pkgs.xdg-desktop-portal-hyprland
pkgs.libsForQt5.xdg-desktop-portal-kde
];
};
environment.systemPackages = with pkgs; [
libsForQt5.kwallet
libsForQt5.kwalletmanager
spaceFM
];
services.udisks2.enable = true;
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
programs.hyprlock.enable = true;
security.pam.services.hyprlock = {};
security.pam.services.jonas.kwallet = {
enable = true;
package = pkgs.kdePackages.kwallet-pam;
};
};
}