109 lines
2.9 KiB
Nix
109 lines
2.9 KiB
Nix
|
{ lib, ... }:
|
||
|
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'';
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dunst.monitor = lib.mkOption {
|
||
|
type = lib.types.str;
|
||
|
default = "0";
|
||
|
};
|
||
|
|
||
|
wallust = {
|
||
|
backend = lib.mkOption {
|
||
|
type = lib.types.enum [ "full" "resized" "wal" "thumb" "fastresize" "kmeans" ];
|
||
|
default = "kmeans";
|
||
|
description = "How the image is parse, in order to get the colors";
|
||
|
};
|
||
|
colorSpace = lib.mkOption {
|
||
|
type = lib.types.enum [ "lab" "labmixed" "lch" "lchmixed" ];
|
||
|
default = "lch";
|
||
|
description = "What color space to use to produce and select the most prominent colors";
|
||
|
};
|
||
|
alpha = lib.mkOption {
|
||
|
type = lib.types.int;
|
||
|
default = 100;
|
||
|
};
|
||
|
threshold = lib.mkOption {
|
||
|
type = lib.types.int;
|
||
|
default = 1;
|
||
|
};
|
||
|
palette = lib.mkOption {
|
||
|
type = lib.types.enum [
|
||
|
"dark"
|
||
|
"dark16"
|
||
|
"darkcomp"
|
||
|
"darkcomp16"
|
||
|
"light"
|
||
|
"light16"
|
||
|
"lightcomp"
|
||
|
"lightcomp16"
|
||
|
"harddark"
|
||
|
"harddark16"
|
||
|
"harddarkcomp"
|
||
|
"harddarkcomp16"
|
||
|
"softdark"
|
||
|
"softdark16"
|
||
|
"softdarkcomp"
|
||
|
"softdarkcomp16"
|
||
|
"softlight"
|
||
|
"softlight16"
|
||
|
"softlightcomp"
|
||
|
"softlightcomp16"
|
||
|
];
|
||
|
default = "dark";
|
||
|
description = ''Use the most prominent colors in a way that makes sense. A Scheme color palette.'';
|
||
|
};
|
||
|
checkContrast = lib.mkOption {
|
||
|
type = lib.types.bool;
|
||
|
default = true;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|