diff --git a/flake.nix b/flake.nix index 645c9b0..97566bc 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,7 @@ ./configuration.nix nixos-hardware.nixosModules.raspberry-pi-4 agenix.nixosModules.default + ./miraclecast.nix ]; }; diff --git a/miraclecast.nix b/miraclecast.nix new file mode 100644 index 0000000..dae70e4 --- /dev/null +++ b/miraclecast.nix @@ -0,0 +1,10 @@ +{pkgs, ... }: let +in { + nixpkgs.overlays = [ (final: prev: { + miraclecast = prev.pkgs.callPackage ./miraclecastpkg.nix {}; + })]; + + environment.systemPackages = with pkgs; [ + miraclecast + ]; +} diff --git a/miraclecastpkg.nix b/miraclecastpkg.nix new file mode 100644 index 0000000..0d154f9 --- /dev/null +++ b/miraclecastpkg.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config +, glib, readline, pcre, systemd, udev }: + +stdenv.mkDerivation { + pname = "miraclecast"; + version = "1.0-20240129"; + + src = fetchFromGitHub { + owner = "albfan"; + repo = "miraclecast"; + rev = "af6ab257eae83bb0270a776a8fe00c0148bc53c4"; + sha256 = "sha256-3ZIAvA3w/ZhoJtVmUD444nch0PGD58PdBRke7zd9IuQ="; + }; + + nativeBuildInputs = [ meson ninja pkg-config ]; + + buildInputs = [ glib pcre readline systemd udev ]; + + mesonFlags = [ + "-Drely-udev=true" + "-Dbuild-tests=true" + ]; + + meta = with lib; { + description = "Connect external monitors via Wi-Fi"; + homepage = "https://github.com/albfan/miraclecast"; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [ ]; + platforms = platforms.linux; + }; +}