Files
nix-config/home/linux/gui/hyprland/default.nix
2025-08-20 12:56:04 +08:00

46 lines
855 B
Nix

{
pkgs,
config,
lib,
...
}@args:
let
cfg = config.modules.desktop.hyprland;
in
{
options.modules.desktop.hyprland = {
enable = lib.mkEnableOption "hyprland compositor";
settings = lib.mkOption {
type =
with lib.types;
let
valueType =
nullOr (oneOf [
bool
int
float
str
path
(attrsOf valueType)
(listOf valueType)
])
// {
description = "Hyprland configuration value";
};
in
valueType;
default = { };
};
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
{
wayland.windowManager.hyprland.settings = cfg.settings;
}
(import ./hyprland.nix args)
(import ./xdg.nix args)
]
);
}