diff options
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix | 13 | ||||
-rw-r--r-- | pkgs/os-specific/linux/rtl88x2bu/default.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/uhk-agent/default.nix | 58 | ||||
-rw-r--r-- | pkgs/os-specific/linux/uhk-udev-rules/default.nix | 2 |
4 files changed, 63 insertions, 16 deletions
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix index 10f7f2e64d0..b52e1520096 100644 --- a/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix +++ b/pkgs/os-specific/linux/alsa-project/alsa-tools/default.nix @@ -5,7 +5,9 @@ , fltk13 , gtk2 , gtk3 +, makeWrapper , pkg-config +, psmisc }: stdenv.mkDerivation (finalAttrs: { @@ -18,6 +20,7 @@ stdenv.mkDerivation (finalAttrs: { }; nativeBuildInputs = [ + makeWrapper pkg-config ]; @@ -26,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: { fltk13 gtk2 gtk3 + psmisc ]; env.TOOLSET = lib.concatStringsSep " " [ @@ -91,6 +95,15 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; + fixupPhase = '' + runHook preFixup + + wrapProgram $out/bin/hdajackretask \ + --prefix PATH : ${lib.makeBinPath [ psmisc ]} + + runHook postFixup + ''; + meta = { homepage = "http://www.alsa-project.org/"; description = "ALSA Tools"; diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix index 2775b180188..73b098894b9 100644 --- a/pkgs/os-specific/linux/rtl88x2bu/default.nix +++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "rtl88x2bu"; - version = "${kernel.version}-unstable-2023-07-23"; + version = "${kernel.version}-unstable-2023-09-24"; src = fetchFromGitHub { owner = "morrownr"; repo = "88x2bu-20210702"; - rev = "83db18e610845df9434a628ca3feb9004296b307"; - sha256 = "sha256-as3S7WQkug3suJ5ovUbRu/UzO5GDrGLdgkiWrCrvztk="; + rev = "888ba1b309e6258a736ef5c37a68836cd0ea5517"; + sha256 = "sha256-oLRGRKUNTmIw+Zn23TArGumo24AIH2YEMpnStyXBNw8="; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/os-specific/linux/uhk-agent/default.nix b/pkgs/os-specific/linux/uhk-agent/default.nix index dfc43cba01c..9ce8c102c25 100644 --- a/pkgs/os-specific/linux/uhk-agent/default.nix +++ b/pkgs/os-specific/linux/uhk-agent/default.nix @@ -1,7 +1,18 @@ -{ appimageTools, lib, fetchurl }: +{ lib +, stdenvNoCC +, fetchurl +, appimageTools +, electron +, makeWrapper +, asar +, autoPatchelfHook +, libusb1 +}: + let pname = "uhk-agent"; version = "3.1.0"; + src = fetchurl { url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage"; name = "${pname}-${version}.AppImage"; @@ -12,22 +23,45 @@ let name = "${pname}-${version}"; inherit src; }; -in appimageTools.wrapType2 { +in +stdenvNoCC.mkDerivation { inherit pname version src; - extraPkgs = pkgs: with pkgs; [ polkit udev ]; + dontUnpack = true; + + nativeBuildInputs = [ + asar + makeWrapper + autoPatchelfHook + ]; + + buildInputs = [ + libusb1 + ]; + + installPhase = '' + runHook preInstall + + mkdir -p "$out"/{opt,share/applications} + + cp -r --no-preserve=mode "${appimageContents}/resources" "$out/opt/${pname}" + cp -r --no-preserve=mode "${appimageContents}/usr/share/icons" "$out/share/icons" + cp -r --no-preserve=mode "${appimageContents}/${pname}.desktop" "$out/share/applications/${pname}.desktop" + + substituteInPlace "$out/share/applications/${pname}.desktop" \ + --replace "Exec=AppRun" "Exec=${pname}" + + asar extract "$out/opt/${pname}/app.asar" "$out/opt/${pname}/app.asar.unpacked" + rm "$out/opt/${pname}/app.asar" - extraInstallCommands = '' - mv $out/bin/${pname}-${version} $out/bin/${pname} + makeWrapper "${electron}/bin/electron" "$out/bin/${pname}" \ + --add-flags "$out/opt/${pname}/app.asar.unpacked" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_IS_DEV 0 \ + --inherit-argv0 - install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications - install -m 644 -D ${appimageContents}/resources/rules/50-uhk60.rules $out/rules/50-uhk60.rules - substituteInPlace $out/share/applications/${pname}.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - cp -r ${appimageContents}/usr/share/icons $out/share + runHook postInstall ''; - # wrapType2 does not passthru pname+version - passthru.version = version; meta = with lib; { description = "Agent is the configuration application of the Ultimate Hacking Keyboard"; diff --git a/pkgs/os-specific/linux/uhk-udev-rules/default.nix b/pkgs/os-specific/linux/uhk-udev-rules/default.nix index bcb7799731f..1b68c46b657 100644 --- a/pkgs/os-specific/linux/uhk-udev-rules/default.nix +++ b/pkgs/os-specific/linux/uhk-udev-rules/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { dontBuild = true; installPhase = '' runHook preInstall - install -D -m 644 ${uhk-agent.out}/rules/50-uhk60.rules $out/lib/udev/rules.d/50-uhk60.rules + install -D -m 644 ${uhk-agent.out}/opt/uhk-agent/rules/50-uhk60.rules $out/lib/udev/rules.d/50-uhk60.rules runHook postInstall ''; |