Move desktop nix file
This commit is contained in:
parent
45ffe6606a
commit
3476ba7be3
76
default.nix
Normal file
76
default.nix
Normal file
|
@ -0,0 +1,76 @@
|
|||
{ stdenv, fetchgit
|
||||
, makeWrapper, makeDesktopItem, mkYarnPackage, callPackage
|
||||
, electron_12
|
||||
}:
|
||||
|
||||
let
|
||||
executableName = "vikunja-desktop";
|
||||
version = "unstable";
|
||||
src = fetchgit {
|
||||
url = "https://kolaente.dev/vikunja/desktop.git";
|
||||
rev = "de323087956a8a1978fa52fe5603c0fdc4ba2406";
|
||||
sha256 = "1lxqc3faxcs8ipx9ig0x84kvdqcknzsras233i5jll4i9k5s1s12";
|
||||
};
|
||||
|
||||
electron = electron_12;
|
||||
vikunja-frontend = callPackage ./frontend {};
|
||||
|
||||
in mkYarnPackage rec {
|
||||
name = "vikunja-desktop-${version}";
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
# resources
|
||||
mkdir -p "$out/share/vikunja"
|
||||
cp -r './deps/vikunja-desktop' "$out/share/vikunja/electron"
|
||||
rm "$out/share/vikunja/electron/node_modules"
|
||||
cp -r './node_modules' "$out/share/vikunja/electron"
|
||||
ln -s '${vikunja-frontend}' "$out/share/vikunja/electron/frontend"
|
||||
|
||||
# icons
|
||||
for icon in $out/share/vikunja/electron/build/icons/*.png; do
|
||||
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
|
||||
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/vikunja.png"
|
||||
done
|
||||
|
||||
# desktop item
|
||||
mkdir -p "$out/share"
|
||||
ln -s "${desktopItem}/share/applications" "$out/share/applications"
|
||||
|
||||
# executable wrapper
|
||||
makeWrapper '${electron}/bin/electron' "$out/bin/${executableName}" \
|
||||
--add-flags "$out/share/vikunja/electron"
|
||||
'';
|
||||
|
||||
# Do not attempt generating a tarball for vikunja-frontend again.
|
||||
# note: `doDist = false;` does not work.
|
||||
distPhase = ''
|
||||
true
|
||||
'';
|
||||
|
||||
# The desktop item properties should be kept in sync with data from upstream:
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "vikunja-desktop";
|
||||
exec = executableName;
|
||||
icon = "vikunja";
|
||||
desktopName = "Vikunja Desktop";
|
||||
genericName = "To-Do list app";
|
||||
comment = meta.description;
|
||||
categories = "ProjectManagement;Office;";
|
||||
extraEntries = ''
|
||||
StartupWMClass=vikunja
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Desktop App of the Vikunja to-do list app";
|
||||
homepage = "https://vikunja.io/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ kolaente ];
|
||||
inherit (electron.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user