From 13396c4a9a5d0418723aae2f13b58c3a53d93d99 Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Wed, 20 Oct 2021 20:13:27 -0400 Subject: [PATCH 1/2] flirc: init at 3.24.3 --- pkgs/applications/video/flirc/99-flirc.rules | 11 +++++ pkgs/applications/video/flirc/default.nix | 45 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 58 insertions(+) create mode 100644 pkgs/applications/video/flirc/99-flirc.rules create mode 100644 pkgs/applications/video/flirc/default.nix diff --git a/pkgs/applications/video/flirc/99-flirc.rules b/pkgs/applications/video/flirc/99-flirc.rules new file mode 100644 index 000000000000..eb02f8a91136 --- /dev/null +++ b/pkgs/applications/video/flirc/99-flirc.rules @@ -0,0 +1,11 @@ +# Flirc Devices + +# Bootloader +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0000", MODE="0666" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0002", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="0005", MODE="0666" + +# Flirc Application +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0001", MODE="0666" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="20a0", ATTR{idProduct}=="0004", MODE="0666" +SUBSYSTEM=="hidraw", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="0006", MODE="0666" diff --git a/pkgs/applications/video/flirc/default.nix b/pkgs/applications/video/flirc/default.nix new file mode 100644 index 000000000000..6285094c461a --- /dev/null +++ b/pkgs/applications/video/flirc/default.nix @@ -0,0 +1,45 @@ +{ lib +, mkDerivation +, fetchurl +, autoPatchelfHook +, hidapi +, readline +, qtsvg +, qtxmlpatterns +}: + +mkDerivation rec { + pname = "flirc"; + version = "3.24.3"; + + src = fetchurl { + url = "https://web.archive.org/web/20211021211803/http://apt.flirc.tv/arch/x86_64/flirc.latest.x86_64.tar.gz"; + sha256 = "0p4pp7j70lbw6m25lmjg6ibc67r6jcy7qs3kki9f86ji1jvrxpga"; + }; + + nativeBuildInputs = [ autoPatchelfHook ]; + buildInputs = [ + hidapi + readline + qtsvg + qtxmlpatterns + ]; + + dontConfigure = true; + dontBuild = true; + + # udev rules don't appear in the official package + # https://flirc.gitbooks.io/flirc-instructions/content/linux.html + installPhase = '' + install -D -t $out/bin/ Flirc flirc_util + install -D ${./99-flirc.rules} $out/lib/udev/rules.d/99-flirc.rules + ''; + + meta = with lib; { + homepage = "https://flirc.tv/more/flirc-usb"; + description = "Use any Remote with your Media Center"; + maintainers = with maintainers; [ aanderse ]; + license = licenses.unfree; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68c4ff7a9c35..fe05d8835f21 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1667,6 +1667,8 @@ with pkgs; flavours = callPackage ../applications/misc/flavours { }; + flirc = libsForQt5.callPackage ../applications/video/flirc { }; + flood = nodePackages.flood; font-config-info = callPackage ../tools/misc/font-config-info { }; From 1526fe10ced29e5202c40c538cd210b24e4a8d84 Mon Sep 17 00:00:00 2001 From: Aaron Andersen Date: Wed, 20 Oct 2021 20:19:04 -0400 Subject: [PATCH 2/2] nixos/flirc: init module --- nixos/modules/hardware/flirc.nix | 12 ++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 13 insertions(+) create mode 100644 nixos/modules/hardware/flirc.nix diff --git a/nixos/modules/hardware/flirc.nix b/nixos/modules/hardware/flirc.nix new file mode 100644 index 000000000000..94ec715b9fa5 --- /dev/null +++ b/nixos/modules/hardware/flirc.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.hardware.flirc; +in +{ + options.hardware.flirc.enable = lib.mkEnableOption "software to configure a Flirc USB device"; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ pkgs.flirc ]; + services.udev.packages = [ pkgs.flirc ]; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9343f2dbc847..3f71dcc8c4ff 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -49,6 +49,7 @@ ./hardware/digitalbitbox.nix ./hardware/device-tree.nix ./hardware/gkraken.nix + ./hardware/flirc.nix ./hardware/i2c.nix ./hardware/sensor/hddtemp.nix ./hardware/sensor/iio.nix