nix-stuff/nixpkgs-patches/handheld-daemon-ui-init.patch

213 lines
7.5 KiB
Diff

From 18cd88064d152491d5ba19602db5c5d65bc2d685 Mon Sep 17 00:00:00 2001
From: Toast <39011842+toast003@users.noreply.github.com>
Date: Thu, 18 Apr 2024 11:22:24 +0200
Subject: [PATCH 1/6] handheld-daemon-ui: init at 3.1.1
---
.../by-name/ha/handheld-daemon-ui/package.nix | 39 +++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 pkgs/by-name/ha/handheld-daemon-ui/package.nix
diff --git a/pkgs/by-name/ha/handheld-daemon-ui/package.nix b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
new file mode 100644
index 000000000000000..81d318d88b5abd3
--- /dev/null
+++ b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
@@ -0,0 +1,39 @@
+{
+ lib,
+ appimageTools,
+ fetchurl,
+}:
+let
+ pname = "handheld-daemon-ui";
+ version = "3.1.1";
+
+ src = fetchurl {
+ url = "https://github.com/hhd-dev/hhd-ui/releases/download/v${version}/hhd-ui.Appimage";
+ hash = "sha256-KH01MvcCbvCqjp1UZHnwfh9G3Yh50CO9Ecjl1Y8VY9E=";
+ };
+ extractedFiles = appimageTools.extractType2 { inherit pname version src; };
+in
+appimageTools.wrapType2 {
+ inherit pname version src;
+
+ extraInstallCommands = ''
+ # Handheld-daemon expects the UI binary to be called hhd-ui
+ mv $out/bin/${pname} $out/bin/hhd-ui
+
+ mkdir -p $out/share/applications
+ substitute ${extractedFiles}/hhd-ui.desktop \
+ $out/share/applications/hhd-ui.desktop \
+ --replace-fail "Exec=AppRun" "Exec=hhd-ui"
+ cp ${extractedFiles}/usr/share/icons $out/share -r
+ '';
+
+ meta = with lib; {
+ description = "The main UI for the Handheld Daemon";
+ homepage = "https://github.com/hhd-dev/hhd-ui";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ toast ];
+ mainProgram = "hhd-ui";
+ platforms = [ "x86_64-linux" ];
+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+ };
+}
From 8ebb1f0976c79c74eb0cea3975c348e36d86a7d1 Mon Sep 17 00:00:00 2001
From: Toast <39011842+toast003@users.noreply.github.com>
Date: Wed, 10 Jul 2024 12:59:01 +0200
Subject: [PATCH 2/6] handheld-daemon: add options for handheld-daemon-ui
---
.../modules/services/hardware/handheld-daemon.nix | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/nixos/modules/services/hardware/handheld-daemon.nix b/nixos/modules/services/hardware/handheld-daemon.nix
index 6c9d5aa3e22c86b..e8e283bca894130 100644
--- a/nixos/modules/services/hardware/handheld-daemon.nix
+++ b/nixos/modules/services/hardware/handheld-daemon.nix
@@ -11,6 +11,11 @@ in
enable = mkEnableOption "Enable Handheld Daemon";
package = mkPackageOption pkgs "handheld-daemon" { };
+ ui = {
+ enable = mkEnableOption "Handheld Daemon UI";
+ package = mkPackageOption pkgs "handheld-daemon-ui" { };
+ };
+
user = mkOption {
type = types.str;
description = ''
@@ -20,7 +25,10 @@ in
};
config = mkIf cfg.enable {
- environment.systemPackages = [ cfg.package ];
+ environment.systemPackages = [
+ cfg.package
+ (mkIf cfg.ui.enable cfg.ui.package)
+ ];
services.udev.packages = [ cfg.package ];
systemd.packages = [ cfg.package ];
@@ -31,6 +39,11 @@ in
restartIfChanged = true;
+ path = mkIf cfg.ui.enable [
+ pkgs.handheld-daemon-ui
+ pkgs.lsof
+ ];
+
serviceConfig = {
ExecStart = "${ lib.getExe cfg.package } --user ${ cfg.user }";
Nice = "-12";
From 1b034ab22605b29195dabce893282b05077d0fe7 Mon Sep 17 00:00:00 2001
From: Toast <39011842+toast003@users.noreply.github.com>
Date: Thu, 11 Jul 2024 12:11:00 +0200
Subject: [PATCH 3/6] handheld-daemon: enable ui when enabling handheld-daemon
---
nixos/modules/services/hardware/handheld-daemon.nix | 1 +
1 file changed, 1 insertion(+)
diff --git a/nixos/modules/services/hardware/handheld-daemon.nix b/nixos/modules/services/hardware/handheld-daemon.nix
index e8e283bca894130..d78bae5e9bc4833 100644
--- a/nixos/modules/services/hardware/handheld-daemon.nix
+++ b/nixos/modules/services/hardware/handheld-daemon.nix
@@ -25,6 +25,7 @@ in
};
config = mkIf cfg.enable {
+ services.handheld-daemon.ui.enable = mkDefault true;
environment.systemPackages = [
cfg.package
(mkIf cfg.ui.enable cfg.ui.package)
From 0686e34bb16f8538e28b0795a8e5957ead5abdf0 Mon Sep 17 00:00:00 2001
From: Toast <39011842+toast003@users.noreply.github.com>
Date: Tue, 8 Oct 2024 10:51:00 +0200
Subject: [PATCH 4/6] handheld-daemon-ui: 3.1.1 -> 3.2.1
---
pkgs/by-name/ha/handheld-daemon-ui/package.nix | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pkgs/by-name/ha/handheld-daemon-ui/package.nix b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
index 81d318d88b5abd3..028ceeb58f05e96 100644
--- a/pkgs/by-name/ha/handheld-daemon-ui/package.nix
+++ b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
@@ -5,11 +5,11 @@
}:
let
pname = "handheld-daemon-ui";
- version = "3.1.1";
+ version = "3.2.1";
src = fetchurl {
url = "https://github.com/hhd-dev/hhd-ui/releases/download/v${version}/hhd-ui.Appimage";
- hash = "sha256-KH01MvcCbvCqjp1UZHnwfh9G3Yh50CO9Ecjl1Y8VY9E=";
+ hash = "sha256-RRXVoeWOO/pR+CAEY0J6Buf/RhA+G0PdxGQVMdAHfwA=";
};
extractedFiles = appimageTools.extractType2 { inherit pname version src; };
in
@@ -18,7 +18,7 @@ appimageTools.wrapType2 {
extraInstallCommands = ''
# Handheld-daemon expects the UI binary to be called hhd-ui
- mv $out/bin/${pname} $out/bin/hhd-ui
+ mv $out/bin/${pname}* $out/bin/hhd-ui
mkdir -p $out/share/applications
substitute ${extractedFiles}/hhd-ui.desktop \
From d602ac7ac385613c082fe5b87b8462b2a2627a3e Mon Sep 17 00:00:00 2001
From: Toast <39011842+toast003@users.noreply.github.com>
Date: Tue, 8 Oct 2024 11:14:00 +0200
Subject: [PATCH 5/6] handheld-daemon-ui: fix desktop item category
---
pkgs/by-name/ha/handheld-daemon-ui/package.nix | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pkgs/by-name/ha/handheld-daemon-ui/package.nix b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
index 028ceeb58f05e96..1aa8266ece44849 100644
--- a/pkgs/by-name/ha/handheld-daemon-ui/package.nix
+++ b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
@@ -23,7 +23,8 @@ appimageTools.wrapType2 {
mkdir -p $out/share/applications
substitute ${extractedFiles}/hhd-ui.desktop \
$out/share/applications/hhd-ui.desktop \
- --replace-fail "Exec=AppRun" "Exec=hhd-ui"
+ --replace-fail "Exec=AppRun" "Exec=hhd-ui" \
+ --replace-fail "Categories=game;" "Categories=Game;"
cp ${extractedFiles}/usr/share/icons $out/share -r
'';
From 09b2e9dcb32eb3d6eaa4ba0e65cf7102b50d1d13 Mon Sep 17 00:00:00 2001
From: Toast <39011842+toast003@users.noreply.github.com>
Date: Tue, 8 Oct 2024 11:40:05 +0200
Subject: [PATCH 6/6] handheld-daemon-ui: copy icon to correct folder
---
pkgs/by-name/ha/handheld-daemon-ui/package.nix | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pkgs/by-name/ha/handheld-daemon-ui/package.nix b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
index 1aa8266ece44849..a1131ea5c23d64a 100644
--- a/pkgs/by-name/ha/handheld-daemon-ui/package.nix
+++ b/pkgs/by-name/ha/handheld-daemon-ui/package.nix
@@ -25,7 +25,9 @@ appimageTools.wrapType2 {
$out/share/applications/hhd-ui.desktop \
--replace-fail "Exec=AppRun" "Exec=hhd-ui" \
--replace-fail "Categories=game;" "Categories=Game;"
- cp ${extractedFiles}/usr/share/icons $out/share -r
+ iconDir=$out/share/icons/hicolor/512x512/apps
+ mkdir -p $iconDir
+ cp ${extractedFiles}/hhd-ui.png $iconDir
'';
meta = with lib; {