Initial flocke configuration (warning: may break other systems, will fix shortly)

This commit is contained in:
Dragyx 2024-04-13 13:47:36 +02:00
commit d2725eb0f4
4 changed files with 159 additions and 156 deletions

View file

@ -7,63 +7,69 @@ with lib;
List of monitors to use
";
default = [];
type = with types; listOf submodule {
name = mkOption {
type = types.str;
description = "Give your monitor a cute name";
default = "monitor0(I am lazy)";
};
device = mkOption {
type = types.str;
description = "The actual device name of the monitor";
};
resolution = mkOption {
type = types.submodule {
width = mkOption {
type = types.int;
description = "monitor width";
default = "1920";
};
height = mkOption {
type = types.int;
description = "monitor height";
default = "1080";
type = with types; types.listOf (submodule {
options = {
name = mkOption {
type = types.str;
description = "Give your monitor a cute name";
default = "monitor0(I am lazy)";
};
device = mkOption {
type = types.str;
description = "The actual device name of the monitor";
};
resolution = mkOption {
type = types.submodule {
options = {
x = mkOption {
type = types.int;
description = "monitor width";
default = "1920";
};
y = mkOption {
type = types.int;
description = "monitor height";
default = "1080";
};
};
};
};
};
scale = mkOption {
type = types.number;
description = "monitor scale";
default = 1.0;
};
refresh_rate = mkOption {
type = types.int;
description = "monitor refresh rate (in Hz)";
default = 60;
};
position = mkOption {
type = types.submodule {
x = mkOption {
type = types.int;
default = 0;
scale = mkOption {
type = types.number;
description = "monitor scale";
default = 1.0;
};
refresh_rate = mkOption {
type = types.int;
description = "monitor refresh rate (in Hz)";
default = 60;
};
position = mkOption {
type = types.submodule {
options = {
x = mkOption {
type = types.int;
default = 0;
};
y = mkOption {
type = types.int;
default = 0;
};
};
};
y = mkOption {
type = types.int;
default = 0;
description = "absolute monitor posititon";
default = {
x = 0;
y = 0;
};
};
description = "absolute monitor posititon";
default = {
x = 0;
y = 0;
transform = mkOption {
type = types.ints.between 0 3;
description = "Rotation of the monitor counterclockwise";
default = 0;
};
};
transform = mkOption {
type = types.ints.between 0 3;
description = "Rotation of the monitor counterclockwise";
default = 0;
};
};
});
};
}