From a0084e745f4121b31066643241ed305f42b73261 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Tue, 5 Dec 2023 16:05:13 +0100 Subject: [PATCH] Improved desktop file installation --- .../clan-vm-manager.code-workspace | 3 +++ pkgs/clan-vm-manager/shell.nix | 22 ++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/pkgs/clan-vm-manager/clan-vm-manager.code-workspace b/pkgs/clan-vm-manager/clan-vm-manager.code-workspace index 50ec088e3..6f28f07dd 100644 --- a/pkgs/clan-vm-manager/clan-vm-manager.code-workspace +++ b/pkgs/clan-vm-manager/clan-vm-manager.code-workspace @@ -5,6 +5,9 @@ }, { "path": "../clan-cli/clan_cli" + }, + { + "path": "../clan-cli/tests" } ], "settings": { diff --git a/pkgs/clan-vm-manager/shell.nix b/pkgs/clan-vm-manager/shell.nix index 36dccaf8d..d949f45d8 100644 --- a/pkgs/clan-vm-manager/shell.nix +++ b/pkgs/clan-vm-manager/shell.nix @@ -1,8 +1,10 @@ -{ clan-vm-manager, clan-cli, mkShell, ruff }: +{ clan-vm-manager, clan-cli, mkShell, ruff, desktop-file-utils, xdg-utils }: mkShell { inherit (clan-vm-manager) propagatedBuildInputs buildInputs; nativeBuildInputs = [ ruff + desktop-file-utils + xdg-utils ] ++ clan-vm-manager.nativeBuildInputs; PYTHONBREAKPOINT = "ipdb.set_trace"; @@ -13,14 +15,22 @@ mkShell { # prepend clan-cli for development export PYTHONPATH=../clan-cli:$PYTHONPATH - ln -sf ${clan-vm-manager} result + ln -snf ${clan-vm-manager} result + - set -euox # install desktop file - cp -f ${clan-vm-manager}/share/applications/clan-vm-manager.desktop ~/.local/share/applications/clan-vm-manager.desktop + set -eou pipefail + DESKTOP_DST=~/.local/share/applications/clan-vm-manager.desktop + DESKTOP_SRC=${clan-vm-manager}/share/applications/clan-vm-manager.desktop + UI_BIN=${clan-vm-manager}/bin/clan-vm-manager + + cp -f $DESKTOP_SRC $DESKTOP_DST sleep 2 - sed -i "s|Exec=.*clan-vm-manager|Exec=${clan-vm-manager}/bin/clan-vm-manager|" ~/.local/share/applications/clan-vm-manager.desktop + sed -i "s|Exec=.*clan-vm-manager|Exec=$UI_BIN|" $DESKTOP_DST xdg-mime default clan-vm-manager.desktop x-scheme-handler/clan - set +x + echo "==== Validating desktop file installation ====" + set -x + desktop-file-validate $DESKTOP_DST + set +xeou pipefail ''; }