1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-24 12:09:46 +01:00
home-manager/tests/modules/services/kanshi/new-configuration.nix
O. C. Taskin daaf0c2f8d
kanshi: add support for output aliases
- Add `services.kanshi.profiles.<name>.outputs.*.alias` to support new
  alias directive from kanshi [1].
  - Add an assertion to reject aliases not on global scope, which are
    not allowed on kanshi [2].
  - Add a new test to check alias rejection, `alias-assertion`.
- Add relevant coverage by modifying the existing "new-configuration"
  test.
- Kanshi also doesn't allow wildcards on global scope [3], correct the
  faulty test case.

[1]: 1ed86ce523
[2]: 1605f7c813/item/doc/kanshi.5.scd (L78)
[3]: 1605f7c813/item/doc/kanshi.5.scd (L80)
2024-09-13 10:51:33 +02:00

63 lines
1.6 KiB
Nix

{ config, pkgs, ... }: {
config = {
services.kanshi = {
enable = true;
package = config.lib.test.mkStubPackage { };
settings = [
{ include = "path/to/included/file"; }
{
output = {
criteria = "Iiyama North America PLE2483H-DP";
alias = "iiyama";
};
}
{
profile.name = "nomad";
profile.outputs = [{
criteria = "eDP-1";
status = "enable";
}];
}
{
profile.name = "desktop";
profile.exec = [ ''echo "1 two 3"'' ''echo "4 five 6"'' ];
profile.outputs = [
{
criteria = "eDP-1";
status = "disable";
}
{
criteria = "$iiyama";
status = "enable";
position = "0,0";
}
{
criteria = "Iiyama North America PLE2483H-DP 1158765348486";
status = "enable";
position = "1920,0";
scale = 2.1;
mode = "1920x1080";
transform = "flipped-270";
}
];
}
{
profile.outputs = [{
criteria = "LVDS-1";
status = "enable";
}];
profile.exec = ''echo "7 eight 9"'';
}
];
};
nmt.script = ''
serviceFile=home-files/.config/systemd/user/kanshi.service
assertFileExists $serviceFile
assertFileExists home-files/.config/kanshi/config
assertFileContent home-files/.config/kanshi/config \
${./new-configuration.conf}
'';
};
}