nixos-config/modules/home/shikane.nix

95 lines
2.5 KiB
Nix
Raw Normal View History

2025-02-16 16:24:34 -05:00
{ pkgs, ... }:
2025-02-21 13:07:22 -05:00
let
tomlFormat = pkgs.formats.toml {};
in {
2025-02-06 13:56:58 -05:00
home.packages = [ pkgs.shikane ];
systemd.user.services.shikane = {
Unit = {
Description = "Shikane";
2025-02-16 16:24:34 -05:00
After = [ "graphical-session.target" ];
2025-02-06 13:56:58 -05:00
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
2025-02-06 18:58:39 -05:00
ExecStart = "${pkgs.shikane}/bin/shikane";
2025-02-06 13:56:58 -05:00
};
};
2025-02-21 13:07:22 -05:00
xdg.configFile."shikane/config.toml".source = tomlFormat.generate "shikane-config" {
profile = [
{
name = "desk-clam";
exec = [ "notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\"" ];
output = [
{
search = "eDP-1";
enable = false;
}
{
search = [ "m=BenQ PD2725U" "s=N2N00414019" "v=PNP(BNQ)" ];
enable = true;
mode = "3840x2160@59.997Hz";
position = "0,0";
scale = 1;
}
];
}
{
name = "desk-dual";
exec = [ "notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\"" ];
output = [
{
search = "eDP-1";
enable = true;
mode = "2560x1600@240Hz";
position = "3840,0";
adaptive_sync = true;
scale = 1;
}
{
enable = true;
search = [ "m=BenQ PD2725U" "s=N2N00414019" "v=PNP(BNQ)" ];
mode = "3840x2160@59.997Hz";
position = "0,0";
scale = 1;
}
];
}
{
name = "laptop";
exec = [ "notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\"" ];
output = [
{
enable = true;
search = "eDP-1";
mode = "2560x1600@240Hz";
position = "0,0";
adaptive_sync = true;
scale = 1;
}
];
}
{
name = "laptop-mirror";
exec = [ "notify-send shikane \"Profile $SHIKANE_PROFILE_NAME has been applied\"" "wl-present mirror eDP-1 & sleep .5; wl-present fullscreen-output HDMI-A-1; wl-present fullscreen" ];
output = [
{
enable = true;
search = [ "m=TL140ADXP04-0" "s=" "v=Thermotrex Corporation" ];
mode = "2560x1600@240Hz";
position = "0,0";
adaptive_sync = true;
}
{
enable = true;
search = "n/HDMI-[ABC]-[1-9]";
}
];
}
];
};
2025-02-06 13:56:58 -05:00
}