biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / nix-tour / default.nix
blobbde9e099a727695eac0080fd32680b1f9a73273f
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , electron
5 , makeWrapper
6 , copyDesktopItems
7 , makeDesktopItem
8 }:
10 stdenv.mkDerivation rec {
11   pname = "nix-tour";
12   version = "unstable-2022-01-03";
14   src = fetchFromGitHub {
15     owner = "nixcloud";
16     repo = "tour_of_nix";
17     rev = "6a6784983e6dc121574b97eb9b1d03592c8cb9a7";
18     sha256 = "sha256-BhQz59wkwwY0ShXzqUD6MQl4NE/jUik5RbLzseEc5Bc=";
19   };
21   nativeBuildInputs = [ makeWrapper copyDesktopItems ];
22   buildInputs = [ electron ];
24   installPhase = ''
25     install -d $out/bin $out/share/nix-tour
26     cp -R * $out/share/nix-tour
27     makeWrapper ${electron}/bin/electron $out/bin/nix-tour \
28       --add-flags $out/share/nix-tour/electron-main.js
29   '';
31   desktopItems = [
32     (makeDesktopItem {
33       name = pname;
34       desktopName = "Tour of Nix";
35       genericName = "Tour of Nix";
36       comment =
37         "Interactive programming guide dedicated to the nix programming language";
38       categories = [ "Development" "Documentation" ];
39       exec = "nix-tour";
40     })
41   ];
43   meta = with lib; {
44     description = "'the tour of nix' from nixcloud.io/tour as offline version";
45     homepage = "https://nixcloud.io/tour";
46     license = licenses.gpl2;
47     maintainers = with maintainers; [ qknight yuu ];
48     mainProgram = "nix-tour";
49   };