{ stdenv , pkg-config , buildPackages , callPackage , clutter , fetchFromGitHub , fetchurl , gobject-introspection , gtk3 , lib , lua53Packages , lua5_3 , makeDesktopItem , makeWrapper , wrapGAppsHook3 , writeText , osm-gps-map , glib-networking , copyDesktopItems }: let luaPackages = lua53Packages; fennel = luaPackages.fennel; lgi = luaPackages.buildLuaPackage { pname = "lgi"; version = "0.9.2-2"; buildInputs = [ gobject-introspection ]; nativeBuildInputs = [ pkg-config ]; src = fetchFromGitHub { owner = "lgi-devs"; repo = "lgi"; rev = "e06ad94c8a1c84e3cdb80cee293450a280dfcbc7"; hash = "sha256-VYr/DV1FAyzPe6p6Quc1nmsHup23IAMfz532rL167Q4="; }; }; lua = lua5_3.withPackages (ps: with ps; [ lgi luafilesystem luaposix readline ]); pname = "maps"; in stdenv.mkDerivation { inherit pname; version = "0.1"; src =./.; buildInputs = [ lua gtk3.dev gobject-introspection # .dev osm-gps-map glib-networking # gdk-pixbuf # glib # libchamplain ]; nativeBuildInputs = [ buildPackages.lua gobject-introspection makeWrapper fennel wrapGAppsHook3 copyDesktopItems ]; GIO_EXTRA_MODULES = [ "${glib-networking.out}/lib/gio/modules" ]; makeFlags = [ "PREFIX=${placeholder "out"}" "NAME=${pname}" ]; postInstall = '' mkdir -p $out/share/icons/ cp icon.svg $out/share/icons/${pname}.svg ''; desktopItems = [ (makeDesktopItem { name = pname; desktopName = "Maps"; exec = pname; type = "Application"; icon = "nix-snowflake"; # "${placeholder "out"}/share/icons/${pname}.svg"; }) ]; }