dotfiles/home/fhauser/applications/kanshi.nix
2024-04-10 10:53:41 +07:00

109 lines
2.8 KiB
Nix

{
pkgs,
lib,
config,
...
}:
{
# systemd.user.services.kanshi.Install.WantedBy = "home-manager-fhauser.service"; # TODO: Upstream array type of systemdTarget
services.kanshi = {
enable = true;
profiles =
let
backgroundPicturePath = "~/pictures/backgrounds";
backgroundCommand = ''
#swaymsg "output * bg `find ${backgroundPicturePath} -type f | shuf -n 1` fill"
'';
mkScreen = (
screen: {
criteria = screen;
status = "enable";
scale = 1.0;
}
);
homeDellScreen = "Dell Inc. DELL P2720DC 22JPK53";
p14sScreen = "BOE 0x08CE Unknown";
in
rec {
#mobile-work.exec = backgroundCommand;
mobile-work.outputs = [
(
mkScreen p14sScreen
// {
position = "0,0";
scale = 2.0;
}
)
];
mobile-work-external.outputs = [
(
mkScreen p14sScreen
// {
position = "1920,0";
scale = 2.0;
}
)
(mkScreen "Lenovo Group Limited M14 V907R2HD" // { position = "0,0"; })
];
mobile-private.outputs = [
(
mkScreen "Unknown 0x1536 0x00000000"
// {
position = "0,0";
scale = 1.5;
}
)
];
home-dock.outputs = mobile-work.outputs ++ [
(
mkScreen homeDellScreen
// {
position = "1920,0";
scale = 1.0;
status = "enable";
}
)
];
office-dock.outputs = [
(mkScreen "Dell Inc. DELL P2720DC BRKPK53" // { position = "0,0"; })
(mkScreen "Dell Inc. DELL P2720DC 6JRRK53" // { position = "2560,0"; })
(
mkScreen p14sScreen
// {
position = "5120,0";
scale = 2.0;
}
)
];
office-cyrille-dock.outputs = [
(
mkScreen "Acer Technologies Acer PE270K 0x0000B784"
// {
position = "0,0";
scale = 1.5;
}
)
(
mkScreen p14sScreen
// {
position = "2560,0";
scale = 2.0;
}
)
];
home-pc.outputs = [
(mkScreen homeDellScreen // { position = "0,0"; })
(
mkScreen "HP Inc. HP Z27 CN482201RP"
// {
position = "2560,0";
scale = 1.5;
}
)
];
home-pc-row.outputs = home-pc.outputs ++ [
(mkScreen "Eizo Nanao Corporation EV2450 92395086" // { position = "5120,0"; })
];
};
};
}