module(kanshi): Add kanshi module to config monitors

This commit is contained in:
ulic-youthlic 2025-07-13 06:04:55 +08:00
parent 01bf0fba4f
commit 98e6f4df21
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
3 changed files with 58 additions and 46 deletions

View file

@ -1,10 +1,4 @@
{
config,
inputs,
...
}: let
inherit (inputs.niri-flake.lib.kdl) node leaf flag;
in {
{config, ...}: {
david.programs.niri = {
waybar.settings = let
cfg = config.david.programs.niri.waybar;
@ -34,44 +28,6 @@ in {
}
];
};
extraConfig = let
output = node "output";
in [
(output ["DP-3"] [
(leaf "mode" ["2560x1440@169.900"])
(leaf "scale" [1.0])
(leaf "position" [
{
x = 0;
y = 0;
}
])
(leaf "transform" ["normal"])
(flag "focus-at-startup")
])
(output ["DP-1"] [
(leaf "mode" ["2560x1440@169.900"])
(leaf "scale" [1.0])
(leaf "position" [
{
x = 0;
y = 0;
}
])
(leaf "transform" ["normal"])
(flag "focus-at-startup")
])
(output ["eDP-1"] [
(leaf "mode" ["2560x1440@165.003"])
(leaf "scale" [1.5])
(leaf "position" [
{
x = 2560;
y = 0;
}
])
(leaf "transform" ["normal"])
])
];
extraConfig = [];
};
}

View file

@ -0,0 +1,55 @@
{
lib,
config,
...
}: let
cfg = config.david.programs.kanshi;
in {
options = {
david.programs.kanshi = {
enable = lib.mkEnableOption "kanshi";
};
};
config = lib.mkIf cfg.enable {
services.kanshi = {
enable = true;
settings = [
{
output = {
criteria = "Chimei Innolux Corporation 0x1540 Unknown";
mode = "2560x1440@165.003Hz";
scale = 1.5;
adaptiveSync = true;
};
}
{
output = {
criteria = "DP-1";
mode = "2560x1440@169.900";
scale = 1.0;
};
}
{
profile.outputs = [
{
criteria = "Chimei Innolux Corporation 0x1540 Unknown";
position = "0,0";
}
];
}
{
profile.outputs = [
{
criteria = "Chimei Innolux Corporation 0x1540 Unknown";
position = "2560,0";
}
{
criteria = "DP-1";
position = "0,0";
}
];
}
];
};
};
}

View file

@ -91,6 +91,7 @@ in {
swaync.enable = true;
swaylock.enable = true;
waypaper.enable = true;
kanshi.enable = true;
};
programs.niri = {
config =