Update kanshi configuration

This commit is contained in:
Fabian Hauser 2024-07-08 10:06:49 +00:00
parent 047e613c98
commit b66b7c543d

View file

@ -8,102 +8,50 @@
# systemd.user.services.kanshi.Install.WantedBy = "home-manager-fhauser.service"; # TODO: Upstream array type of systemdTarget # systemd.user.services.kanshi.Install.WantedBy = "home-manager-fhauser.service"; # TODO: Upstream array type of systemdTarget
services.kanshi = { services.kanshi = {
enable = true; enable = true;
profiles = settings =
let let
backgroundPicturePath = "~/pictures/backgrounds"; mkScreen = display: position: {
backgroundCommand = '' inherit (display.output) criteria;
#swaymsg "output * bg `find ${backgroundPicturePath} -type f | shuf -n 1` fill" inherit position;
'';
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"; })
];
}; };
mkProfile = name: outputs: {
profile = {
inherit name outputs;
exec = backgroundCommand;
};
};
# Can be applied by profile.exec
backgroundPicturePath = "~/shares/cloud.qo.is/pictures/backgrounds";
backgroundCommand = ''
swaymsg "output * bg `find ${backgroundPicturePath} -type f | shuf -n 1` fill"
'';
screens = {
x1-screen.output = {
criteria = "California Institute of Technology 0x1404 Unknown";
scale = null;
};
chur-4k.output = {
criteria = "HP Inc. HP Z27 CN482201RP";
scale = 1.2;
};
chur-dell.output = {
criteria = "Dell Inc. DELL P2720DC 22JPK53";
scale = null;
};
chur-small.output = {
criteria = "Eizo Nanao Corporation EV2450 92395086";
scale = null;
};
};
in
with lib;
(attrValues screens)
++ (with screens; [
(mkProfile "home-dock" [
(mkScreen x1-screen "0,120")
(mkScreen chur-4k "1920,0")
])
]);
}; };
} }