diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a835915dae86..caf93f53b7e8 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -22786,6 +22786,11 @@ name = "Yusuf Bera Ertan"; keys = [ { fingerprint = "9270 66BD 8125 A45B 4AC4 0326 6180 7181 F60E FCB2"; } ]; }; + yusuf-duran = { + github = "yusuf-duran"; + githubId = 37774475; + name = "Yusuf Duran"; + }; yuu = { email = "yuunix@grrlz.net"; matrix = "@yuu:matrix.org"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 210ca98e2f27..f10682ed12c6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -214,6 +214,7 @@ ./programs/iay.nix ./programs/iftop.nix ./programs/i3lock.nix + ./programs/iio-hyprland.nix ./programs/immersed-vr.nix ./programs/iotop.nix ./programs/java.nix diff --git a/nixos/modules/programs/iio-hyprland.nix b/nixos/modules/programs/iio-hyprland.nix new file mode 100644 index 000000000000..f83098ec8aad --- /dev/null +++ b/nixos/modules/programs/iio-hyprland.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.programs.iio-hyprland; +in +{ + options = { + programs.iio-hyprland = { + enable = lib.mkEnableOption "iio-hyprland and iio-sensor-proxy"; + package = lib.mkPackageOption pkgs "iio-hyprland" { }; + }; + }; + + config = lib.mkIf cfg.enable { + hardware.sensor.iio.enable = lib.mkDefault true; + + environment.systemPackages = [ cfg.package ]; + }; + meta.maintainers = with lib.maintainers; [ yusuf-duran ]; +} diff --git a/pkgs/by-name/ii/iio-hyprland/package.nix b/pkgs/by-name/ii/iio-hyprland/package.nix new file mode 100644 index 000000000000..ac04d12a5778 --- /dev/null +++ b/pkgs/by-name/ii/iio-hyprland/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenv, + fetchFromGitHub, + unstableGitUpdater, + meson, + cmake, + pkg-config, + dbus, + ninja, +}: + +stdenv.mkDerivation { + pname = "iio-hyprland"; + version = "0-unstable-2024-07-24"; + + src = fetchFromGitHub { + owner = "JeanSchoeller"; + repo = "iio-hyprland"; + rev = "bbf59e10cbf293e64b765864a324e971fcc06125"; + hash = "sha256-9tB29tP3ZQ2tU2c+FrWrGqSm70ZrJP8H9WZKzHx55zI="; + }; + + buildInputs = [ dbus ]; + nativeBuildInputs = [ + meson + cmake + pkg-config + ninja + ]; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Listens to iio-sensor-proxy and automatically changes Hyprland output orientation"; + homepage = "https://github.com/JeanSchoeller/iio-hyprland/tree/master"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ yusuf-duran ]; + platforms = lib.platforms.linux; + mainProgram = "iio-hyprland"; + }; +}