nix/modules/system/desktop-environments/hyprland.nix

45 lines
1023 B
Nix

{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.settings.desktop-environments.hyprland;
in {
options = {
settings.desktop-environments.hyprland.enable = lib.mkOption {
type = lib.types.bool;
description = ''
Enable hyprland window manager
'';
};
};
config = mkIf cfg.enable {
programs.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
xwayland.enable = true;
};
# Sound configuration
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Keyring configuration
security.polkit.enable = true;
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd.enableGnomeKeyring = true;
programs.ssh.startAgent = true;
# Configure networking
networking.networkmanager.enable = true;
networking.wireless.iwd.enable = true;
};
}