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/7] 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/7] 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/7] 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/7] 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/7] 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/7] 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; { From b3530135d4ca5aeb80de1be5dbca30116cff1461 Mon Sep 17 00:00:00 2001 From: Toast <39011842+toast003@users.noreply.github.com> Date: Tue, 8 Oct 2024 18:47:43 +0200 Subject: [PATCH 7/7] handheld-daemon: replace mkIf with lib.optional Co-authored-by: Sandro --- nixos/modules/services/hardware/handheld-daemon.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos/modules/services/hardware/handheld-daemon.nix b/nixos/modules/services/hardware/handheld-daemon.nix index d78bae5e9bc4833..02684426b578de3 100644 --- a/nixos/modules/services/hardware/handheld-daemon.nix +++ b/nixos/modules/services/hardware/handheld-daemon.nix @@ -28,8 +28,7 @@ in services.handheld-daemon.ui.enable = mkDefault true; environment.systemPackages = [ cfg.package - (mkIf cfg.ui.enable cfg.ui.package) - ]; + ] ++ lib.optional cfg.ui.enable cfg.ui.package; services.udev.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];