nixos/home-manager/modules/services/grobi/default.nix

65 lines
1.6 KiB
Nix
Raw Normal View History

2024-02-02 13:45:05 +01:00
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.az-grobi;
in
{
2023-06-09 21:44:09 +02:00
options = {
2024-02-02 13:45:05 +01:00
services.az-grobi.enable = lib.mkEnableOption "Enabel grobi display manager.";
2023-06-09 21:44:09 +02:00
};
config = lib.mkIf cfg.enable {
services.grobi = {
enable = true;
rules = [
{
name = "virtualbox";
outputs_connected = [ "Virtual1" ];
2023-09-08 10:02:35 +02:00
configure_single = "Virtual1@3840x2160";
2023-06-09 21:44:09 +02:00
primary = true;
atomic = true;
execute_after = [
"${pkgs.nitrogen}/bin/nitrogen --restore"
"${pkgs.qtile}/bin/qtile cmd-obj -o cmd -f restart"
];
}
{
name = "docked";
2024-02-02 13:45:05 +01:00
outputs_connected = [
"eDP-1"
"DP-1-2"
];
2023-06-09 21:44:09 +02:00
atomic = true;
2023-06-23 23:39:14 +02:00
configure_single = "DP-1-2";
primary = true;
2023-06-09 21:44:09 +02:00
execute_after = [
"${pkgs.nitrogen}/bin/nitrogen --restore"
"${pkgs.qtile}/bin/qtile cmd-obj -o cmd -f restart"
"${pkgs.networkmanager}/bin/nmcli radio wifi off"
];
}
{
name = "undocked";
outputs_disconnected = [ "DP-1-2" ];
configure_single = "eDP-1";
primary = true;
atomic = true;
execute_after = [
"${pkgs.nitrogen}/bin/nitrogen --restore"
"${pkgs.qtile}/bin/qtile cmd-obj -o cmd -f restart"
"${pkgs.networkmanager}/bin/nmcli radio wifi on"
];
}
{
name = "fallback";
configure_single = "eDP-1";
}
];
};
};
}