From 081ed8f0126178a0d2c624fd4bd946704db7fc6a Mon Sep 17 00:00:00 2001 From: Jan Solanti Date: Mon, 30 Mar 2020 04:05:52 +0300 Subject: xow: 0.2 -> 0.4 --- nixos/modules/hardware/uinput.nix | 2 +- nixos/modules/services/hardware/xow.nix | 19 +++---------------- pkgs/misc/drivers/xow/default.nix | 25 +++++++++++++------------ 3 files changed, 17 insertions(+), 29 deletions(-) diff --git a/nixos/modules/hardware/uinput.nix b/nixos/modules/hardware/uinput.nix index 101c12fe257..55e86bfa6bd 100644 --- a/nixos/modules/hardware/uinput.nix +++ b/nixos/modules/hardware/uinput.nix @@ -4,7 +4,7 @@ let cfg = config.hardware.uinput; in { options.hardware.uinput = { - enable = lib.mkEnableOption "Whether to enable uinput support"; + enable = lib.mkEnableOption "uinput support"; }; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/services/hardware/xow.nix b/nixos/modules/services/hardware/xow.nix index a97dd5c870d..a18d60ad83b 100644 --- a/nixos/modules/services/hardware/xow.nix +++ b/nixos/modules/services/hardware/xow.nix @@ -4,27 +4,14 @@ let cfg = config.services.hardware.xow; in { options.services.hardware.xow = { - enable = lib.mkEnableOption "Whether to enable xow or not."; + enable = lib.mkEnableOption "xow as a systemd service"; }; config = lib.mkIf cfg.enable { hardware.uinput.enable = true; - users.users.xow = { - group = "uinput"; - isSystemUser = true; - }; + systemd.packages = [ pkgs.xow ]; - systemd.services.xow = { - wantedBy = [ "multi-user.target" ]; - description = "Xbox One Wireless Dongle Driver"; - after = [ "systemd-udev-settle.service" ]; - serviceConfig = { - ExecStart = '' - ${pkgs.xow}/bin/xow - ''; - User = "xow"; - }; - }; + services.udev.packages = [ pkgs.xow ]; }; } diff --git a/pkgs/misc/drivers/xow/default.nix b/pkgs/misc/drivers/xow/default.nix index 5ca3f235fcc..d5afc96c3b4 100644 --- a/pkgs/misc/drivers/xow/default.nix +++ b/pkgs/misc/drivers/xow/default.nix @@ -1,32 +1,33 @@ -{ stdenv, fetchFromGitHub, libusb, gitMinimal }: +{ stdenv, fetchFromGitHub, libusb }: stdenv.mkDerivation rec { pname = "xow"; - version = "0.2"; + version = "0.4"; src = fetchFromGitHub { owner = "medusalix"; repo = "xow"; rev = "v${version}"; - sha256 = "03ajal91xi52svzy621aa4jcdf0vj4pqd52kljam0wryrlmcpbr3"; + sha256 = "1xkwcx2gqip9v2h3zjmrn7sgcck3midl5alhsmr3zivgdipamynv"; }; - makeFlags = [ "BUILD=RELEASE" "VERSION=${version}" ]; + makeFlags = [ + "BUILD=RELEASE" + "VERSION=${version}" + "BINDIR=${placeholder ''out''}/bin" + "UDEVDIR=${placeholder ''out''}/lib/udev/rules.d" + "MODLDIR=${placeholder ''out''}/lib/modules-load.d" + "MODPDIR=${placeholder ''out''}/lib/modprobe.d" + "SYSDDIR=${placeholder ''out''}/lib/systemd/system" + ]; enableParallelBuilding = true; buildInputs = [ libusb ]; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - cp xow $out/bin - runHook postInstall - ''; - meta = with stdenv.lib; { homepage = "https://github.com/medusalix/xow"; description = "Linux driver for the Xbox One wireless dongle"; license = licenses.gpl2Plus; - maintainers = [ maintainers.pmiddend ]; + maintainers = [ maintainers.jansol ]; platforms = platforms.linux; }; } -- cgit 1.4.1