nixos-config/common/gui/hyprland.nix
2025-03-20 13:34:03 -04:00

87 lines
1.7 KiB
Nix

{
pkgs,
inputs,
...
}:
{
imports = [
./common.nix
./dbus.nix
./pipewire.nix
./wayland.nix
./displayManager.nix
# ./xdg.nix
];
# Security
security = {
pam.services.swaylock = {
text = ''
auth include login
'';
};
};
# Services
services = {
xserver = {
enable = true;
xkb = {
variant = "";
layout = "us";
};
excludePackages = [ pkgs.xterm ];
# videoDrivers = ["amdgpu"];
libinput = {
enable = true;
touchpad.tapping = true;
touchpad.naturalScrolling = true;
touchpad.scrollMethod = "twofinger";
touchpad.disableWhileTyping = true;
touchpad.clickMethod = "clickfinger";
};
};
gvfs.enable = true;
tumbler.enable = true;
gnome = {
sushi.enable = true;
gnome-keyring.enable = true;
};
};
programs = {
hyprland = {
enable = true;
withUWSM = true; # recommended for most users
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland = {
enable = true;
};
};
waybar = {
enable = false;
package = pkgs.waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
});
};
thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
};
environment.systemPackages = with pkgs; [
libva-utils
gsettings-desktop-schemas
xdg-utils
hyprland-qtutils
];
environment.sessionVariables = {
XDG_CURRENT_DESKTOP = "Hyprland";
XDG_SESSION_DESKTOP = "Hyprland";
XDG_SESSION_TYPE = "wayland";
};
}