mirror of
https://github.com/nix-community/home-manager
synced 2024-12-26 03:39:47 +01:00
daaf0c2f8d
- 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)
63 lines
1.6 KiB
Nix
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}
|
|
'';
|
|
};
|
|
}
|