67 lines
1.5 KiB
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;
|
|
};
|
|
};
|
|
};
|
|
} |