1
Fork 0
satellite/modules/home-manager/monitors.nix

49 lines
1.2 KiB
Nix
Raw Normal View History

2023-06-09 13:17:34 +02:00
# Taken from [misterio's config](https://github.com/Misterio77/nix-config/blob/main/modules/home-manager/monitors.nix)
# This is meant to provide a wm-independent way of specifying the monitor configuration of each machine.
{ lib, ... }:
{
2023-11-13 04:31:54 +01:00
options.satellite.monitors = lib.mkOption {
2024-08-27 16:28:49 +02:00
default = [ ];
type = lib.types.listOf (
lib.types.submodule {
options = {
name = lib.mkOption {
type = lib.types.str;
example = "DP-1";
};
2023-06-09 13:17:34 +02:00
2024-08-27 16:28:49 +02:00
width = lib.mkOption {
type = lib.types.int;
example = 1920;
};
2023-06-09 13:17:34 +02:00
2024-08-27 16:28:49 +02:00
height = lib.mkOption {
type = lib.types.int;
example = 1080;
};
2023-06-09 13:17:34 +02:00
2024-08-27 16:28:49 +02:00
refreshRate = lib.mkOption {
type = lib.types.int;
default = 60;
};
2023-06-09 13:17:34 +02:00
2024-08-27 16:28:49 +02:00
x = lib.mkOption {
type = lib.types.int;
default = 0;
};
2023-06-09 13:17:34 +02:00
2024-08-27 16:28:49 +02:00
y = lib.mkOption {
type = lib.types.int;
default = 0;
};
2023-06-09 13:17:34 +02:00
2024-08-27 16:28:49 +02:00
workspace = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
};
2023-06-09 13:17:34 +02:00
};
2024-08-27 16:28:49 +02:00
}
);
2023-06-09 13:17:34 +02:00
};
}