Files
nixos-config/hosts/Bellerophon/duo-configuration.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;
};
};
}