89 lines
2.2 KiB
Nix
89 lines
2.2 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
types = lib.types;
|
|
in
|
|
{
|
|
options.profile.hyprland = {
|
|
enable = lib.mkEnableOption "hyperland";
|
|
settings = {
|
|
monitors = lib.mkOption {
|
|
type = with types; listOf str;
|
|
default = [ ];
|
|
description = ''List of monitors hyprland should manage'';
|
|
example = ''[ ",preffered,auto,1" ]'';
|
|
};
|
|
workspaces = lib.mkOption {
|
|
type = with types; listOf str;
|
|
default = [ ];
|
|
description = ''List of workspaces to create'';
|
|
example = ''[ "1,default:true" "2" "3" "4" "5" "6" "7" "8" "9" "10" ]'';
|
|
};
|
|
};
|
|
|
|
displayManager = lib.mkOption {
|
|
type = lib.types.enum [
|
|
"sddm"
|
|
"tuigreet"
|
|
];
|
|
default = "tuigreet";
|
|
};
|
|
|
|
swayosd.display = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "eDP-1";
|
|
};
|
|
waybar.persistent-workspaces = lib.mkOption {
|
|
type = lib.types.attrs;
|
|
default = { };
|
|
description = ''List of hyprland workspaces to keep in waybar, in the format of { [monitor] = [workspace] }'';
|
|
example = ''
|
|
{
|
|
DP-1 = [ 1 2 3 4 5 6 7];
|
|
DP-1 = [ 8 9 10 ];
|
|
}
|
|
'';
|
|
};
|
|
|
|
pyprland = {
|
|
wallpaper-dirs = lib.mkOption {
|
|
type = with types; listOf str;
|
|
default = [ ];
|
|
description = ''List of directories to search for wallpapers'';
|
|
};
|
|
};
|
|
|
|
hypridle = {
|
|
lockTimeout = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 600;
|
|
description = ''Time in seconds before the screen locks'';
|
|
};
|
|
dpmsTimeout = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = config.profile.hyprland.hypridle.lockTimeout + 60;
|
|
description = ''Time in seconds before the screen turns off. default is lockTimeout + 60'';
|
|
};
|
|
suspendTimeout = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 1800;
|
|
description = ''Time in seconds before the system suspends. default is 30 minutes (1800 seconds)'';
|
|
};
|
|
};
|
|
|
|
dunst.monitor = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "0";
|
|
};
|
|
|
|
wallust.settings = lib.mkOption {
|
|
type = (pkgs.formats.toml { }).type;
|
|
default = { };
|
|
};
|
|
};
|
|
}
|