Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 fetchFromGitHub,
3 makeDesktopItem,
4 copyDesktopItems,
5 lib,
6 flutter,
7 quickemu,
8}:
9flutter.buildFlutterApplication rec {
10 pname = "quickgui";
11 version = "1.2.10";
12 src = fetchFromGitHub {
13 owner = "quickemu-project";
14 repo = "quickgui";
15 rev = version;
16 hash = "sha256-M2Qy66RqsjXg7ZpHwaXCN8qXRIsisnIyaENx3KqmUfQ=";
17 };
18
19 pubspecLock = lib.importJSON ./pubspec.lock.json;
20
21 gitHashes = {
22 window_size = "sha256-XelNtp7tpZ91QCEcvewVphNUtgQX7xrp5QP0oFo6DgM=";
23 };
24
25 extraWrapProgramArgs = "--prefix PATH : ${
26 lib.makeBinPath [
27 quickemu
28 ]
29 }";
30
31 nativeBuildInputs = [ copyDesktopItems ];
32
33 postFixup = ''
34 for n in 16 32 48 64 128 256 512; do
35 size=$n"x"$n
36 mkdir -p $out/share/icons/hicolor/$size/apps/
37 cp -av assets/resources/quickgui_$n.png $out/share/icons/hicolor/$size/apps/quickgui.png
38 done
39 '';
40
41 desktopItems = [
42 (makeDesktopItem {
43 name = "quickgui";
44 exec = "quickgui";
45 icon = "quickgui";
46 desktopName = "Quickgui";
47 comment = "An elegant virtual machine manager for the desktop";
48 categories = [
49 "Development"
50 "System"
51 ];
52 })
53 ];
54
55 meta = with lib; {
56 description = "Elegant virtual machine manager for the desktop";
57 homepage = "https://github.com/quickemu-project/quickgui";
58 changelog = "https://github.com/quickemu-project/quickgui/releases/";
59 license = licenses.mit;
60 maintainers = with maintainers; [
61 flexiondotorg
62 heyimnova
63 ];
64 platforms = [ "x86_64-linux" ];
65 mainProgram = "quickgui";
66 };
67}