From 7539648198b122b70c75019c417bc2e45ca3a40a Mon Sep 17 00:00:00 2001 From: Aleksandr Lebedev Date: Thu, 31 Jul 2025 19:01:48 +0200 Subject: [PATCH] Autorotation for framework12 on niri --- nixos/homes/kylekrein/niri.nix | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/nixos/homes/kylekrein/niri.nix b/nixos/homes/kylekrein/niri.nix index f40d856..9ebe0a5 100644 --- a/nixos/homes/kylekrein/niri.nix +++ b/nixos/homes/kylekrein/niri.nix @@ -360,4 +360,46 @@ in { RestartSec = 5; }; }; + systemd.user.services.autorotate = lib.mkIf (hwconfig.hasTouchscreen) { + Unit = { + Description = "Adds auto rotation to Niri."; + }; + Install = { + WantedBy = ["default.target"]; + }; + Service = { + ExecStart = "${pkgs.writeShellScript "autorotate" '' + transform="normal" + + monitor-sensor | while read -r line; do + case "$line" in + *normal*) + new_transform="normal" + ;; + *right-up*) + new_transform="270" + ;; + *bottom-up*) + new_transform="180" + ;; + *left-up*) + new_transform="90" + ;; + *) + continue + ;; + esac + + if [[ "$new_transform" != "$transform" ]]; then + transform="$new_transform" + echo "Transform: $transform" + niri msg output eDP-1 transform "$transform" + systemctl --user restart lisgd-niri.service + fi + done + ''}"; + Restart = "on-failure"; + RestartSec = 5; + }; + }; }