1

Further modularize hyprland config

This commit is contained in:
2023-05-24 23:02:37 +02:00
parent 5d3a1a5ec2
commit 26b95e5f10
6 changed files with 291 additions and 151 deletions

View File

@ -9,21 +9,97 @@ with mylib.modules; {
kb-layout = mkOption {
type = types.str;
example = "us";
description = "Keyboard layout to use";
};
kb-variant = mkOption {
type = types.str;
example = "altgr-intl";
description = "Keyboard layout variant";
};
theme = mkOption {
type = types.str;
example = "Three-Bears";
description = "Wallpaper and colorscheme to use";
};
monitors = mkOption {
type = types.str;
description = "Hyprland monitor configuration";
type = types.attrs;
description = "Hyprland Monitor Configurations";
example = ''
{
"HDMI-A-1" = {
width = 2560;
height = 1440;
rate = 144;
x = 1920;
y = 0;
scale = 1;
}
}
'';
};
workspaces = mkOption {
type = types.attrs;
description = "How workspaces are distributed to monitors. These monitors will also receive a wallpaper.";
example = ''
{
"HDMI-A-1" = [1 2 3 4 5 6 7 8 9];
"HDMI-A-2" = [0];
}
'';
};
autostart = mkOption {
type = types.listOf types.str;
description = "Programs to launch when Hyprland starts";
example = ''
[
"keepassxc"
"nextcloud --background"
]
'';
};
workspacerules = mkOption {
type = types.attrs;
description = "Launch programs on specified workspaces, accepts window class.";
example = ''
{
"2" = [
"jetbrains-clion"
"code-url-handler"
];
}
'';
};
floating = mkOption {
type = types.listOf types.attrs;
description = "What programs are floating down here?";
example = ''
[
{
class = "thunar";
title = "File Operation Progress";
}
{
class = "org.kde.polkit-kde-authentication-agent-1";
}
]
'';
};
transparent = mkOption {
type = types.listOf types.str;
description = "What programs should be transparent? Accepts window class.";
example = ''
[
"kitty"
]
'';
};
}