55 lines
1.6 KiB
Nix
55 lines
1.6 KiB
Nix
{pkgs, ...}: let
|
|
# Clone the repository
|
|
duoRepo = builtins.fetchGit {
|
|
url = "https://github.com/panotaka/zenbook-duo-2024-ux8406ma-linux";
|
|
# Specify a specific commit or branch if needed
|
|
rev = "c178539c2c64e4e6867211d3557e6bfe9327014b"; # Uncomment this line to specify a branch or commit
|
|
};
|
|
|
|
# Path to the duo script
|
|
duoScript = "${duoRepo}/duo";
|
|
|
|
# Modify the shebang and create a new script
|
|
modifiedDuoScript = pkgs.writeShellScript "modified-duo" ''
|
|
#!${pkgs.bash}/bin/bash
|
|
cd "$(dirname "$(realpath "$0")")"
|
|
${builtins.readFile duoScript}
|
|
'';
|
|
in {
|
|
systemd.services.watchBacklight = {
|
|
description = "synchronize screen brightness";
|
|
wantedBy = ["default.target"];
|
|
path = [pkgs.inotify-tools pkgs.sudo];
|
|
serviceConfig = {
|
|
ExecStart = "${modifiedDuoScript} watch-backlight";
|
|
Restart = "always";
|
|
RestartSec = 5;
|
|
};
|
|
};
|
|
|
|
systemd.user.services.watchDisplays = {
|
|
description = "set screens on keyboard event";
|
|
wantedBy = ["default.target"];
|
|
after = ["graphical-session.target"];
|
|
|
|
path = [pkgs.gnome-monitor-config pkgs.usbutils pkgs.inotify-tools pkgs.kdePackages.libkscreen];
|
|
serviceConfig = {
|
|
ExecStart = "${modifiedDuoScript} watch-displays";
|
|
Restart = "always";
|
|
RestartSec = 5;
|
|
};
|
|
};
|
|
|
|
systemd.user.services.watchRotation = {
|
|
description = "rotate screens";
|
|
wantedBy = ["default.target"];
|
|
after = ["graphical-session.target"];
|
|
path = [pkgs.gnome-monitor-config pkgs.iio-sensor-proxy];
|
|
serviceConfig = {
|
|
ExecStart = "${modifiedDuoScript} watch-rotation";
|
|
Restart = "always";
|
|
RestartSec = 5;
|
|
};
|
|
};
|
|
}
|