{ inputs, ... }: { flake.nixosModules.default = { config, lib, pkgs, ... }: { options.sysconfig.programs.hyprland.enable = lib.options.mkOption { type = lib.types.bool; default = false; }; config = lib.mkIf config.sysconfig.programs.hyprland.enable { sysconfig.services.sddm.enable = lib.mkDefault true; environment.sessionVariables.NIXOS_OZONE_WL = "1"; programs.hyprland = { enable = true; withUWSM = true; xwayland.enable = true; systemd.setPath.enable = true; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; }; services = { upower.enable = true; gvfs.enable = true; power-profiles-daemon.enable = true; }; environment.systemPackages = with pkgs; [ bluez bluez-tools libgtop dart-sass wl-clipboard gtksourceview libsoup_3 brightnessctl swww hyprpicker hyprsunset wf-recorder ]; }; }; }