hyprland: module init

This commit is contained in:
Zynh Ludwig 2025-03-05 05:53:32 -08:00
parent 12956729b6
commit c77271a74d

79
modules/hyprland.nix Normal file
View file

@ -0,0 +1,79 @@
{ lib, config, pkgs, ... }:
let
cfg = config.snowhawk.hyprland;
in
{
options.snowhawk.hyprland = {
enable = lib.mkEnableOption "hyprland";
};
config = lib.mkIf cfg.enable {
services.graphical-desktop.enable = lib.mkDefault true;
services.displayManager = {
enable = true;
# sessionPackages = [ pkgs.hyprland ];
sddm = {
enable = lib.mkDefault true;
wayland.enable = lib.mkDefault true;
theme = pkgs.sddm-astronaut.override { embeddedTheme = "pixel_sakura"; };
};
};
security = {
polkit.enable = lib.mkDefault true;
};
programs = {
dconf.enable = lib.mkDefault true;
xwayland.enable = lib.mkDefault true;
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
# programs.hyprlock.enable = true;
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
xdg.portal.config.hyprland.default = lib.mkDefault [ "wlr" "gtk" ];
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
environment.variables = {
QT_QPA_PLATFORM = "wayland;xcb";
MOZ_ENABLE_WAYLAND = 1;
SDL_VIDEODRIVEWR = "wayland,x11";
_JAVA_AWT_WM_NONREPARENTING = 1;
};
environment.systemPackages = with pkgs; [
grim
slurp
satty
wofi
brightnessctl
wdisplays
xorg.xlsclients
wl-clipboard
kitty
pipewire-controller
];
home-manager.sharedModules = [ ];
};
}