Files
nix-config/modules/home/desktop/hyprland/options.nix

67 lines
1.5 KiB
Nix

{ lib, namespace, ... }:
with lib;
{
options.${namespace}.desktop.hyprland = {
enable = mkEnableOption "enable hyprland desktop";
primaryDisplay = mkOption {
type = types.string;
default = "DP-1";
};
wallpaper = mkOption {
type = types.string;
default = "/run/wallpaper.jpeg";
};
monitor = mkOption {
type = with types; listOf str;
default = [];
description = "list of hyprland monitor configs";
};
monitorv2 = mkOption {
type = with types; listOf str;
default = [];
description = "list of hyprland monitorv2 configs";
};
workspace = mkOption {
type = with types; listOf str;
default = [];
description = "list of hyprland workspace definitions";
};
windowRule = mkOption {
type = with types; listOf str;
default = [];
description = "list of hyprland window rules";
};
extraConfig = mkOption {
type = with types; str;
default = '''';
description = "any extra options";
};
defaultApps = mkOption {
type = attrs;
default = { };
};
hyprIdle = {
lockScreenTimer = mkOption {
type = with types; null || signed integer || floating point number;
default = 5;
};
screenOffTimer = mkOption {
type = with types; null || signed integer || floating point number;
default = 15;
};
suspendTimer = mkOption {
type = with types; null || signed integer || floating point number;
default = 30;
};
};
};
}