{ inputs, config, lib, pkgs, ... }: let cfg = config.modules.Hyprland; in { imports = [ ./settings.nix ./runner.nix ./screenshot.nix ]; options.modules.Hyprland = { enable = lib.mkEnableOption "Hyprland"; }; config.wayland.windowManager.hyprland = lib.mkIf cfg.enable { enable = true; # set the flake package # settings = { }; systemd.variables = [ "--all" ]; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; }; # TODO, split this into its own module; config.programs = lib.mkIf cfg.enable { wlogout = { enable = true; }; foot = { enable = true; settings = { main = { term = "xterm-256color"; font = "CaskaydiaCove Nerd Font Mono:size=12"; }; mouse = { hide-when-typing = "yes"; }; }; }; }; }