2009-05-10 13:03:53 +01:00
|
|
|
{stdenv}:
|
|
|
|
{ name
|
|
|
|
, type ? "Application"
|
|
|
|
, exec
|
|
|
|
, icon ? ""
|
|
|
|
, comment ? ""
|
|
|
|
, terminal ? "false"
|
|
|
|
, desktopName
|
|
|
|
, genericName
|
|
|
|
, mimeType ? ""
|
|
|
|
, categories ? "Application;Other;"
|
2015-12-12 23:25:56 +00:00
|
|
|
, startupNotify ? null
|
2016-02-29 19:42:58 +00:00
|
|
|
, extraEntries ? ""
|
2009-05-10 13:03:53 +01:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
2016-01-10 14:17:33 +00:00
|
|
|
name = "${name}.desktop";
|
2009-05-10 13:03:53 +01:00
|
|
|
buildCommand = ''
|
2012-01-18 20:16:00 +00:00
|
|
|
mkdir -p $out/share/applications
|
2016-01-10 14:17:33 +00:00
|
|
|
cat > $out/share/applications/${name}.desktop <<EOF
|
2009-05-10 13:03:53 +01:00
|
|
|
[Desktop Entry]
|
|
|
|
Type=${type}
|
|
|
|
Exec=${exec}
|
|
|
|
Icon=${icon}
|
|
|
|
Comment=${comment}
|
|
|
|
Terminal=${terminal}
|
|
|
|
Name=${desktopName}
|
|
|
|
GenericName=${genericName}
|
|
|
|
MimeType=${mimeType}
|
|
|
|
Categories=${categories}
|
2016-02-29 19:42:58 +00:00
|
|
|
${extraEntries}
|
2015-12-12 23:25:56 +00:00
|
|
|
${if startupNotify == null then ''EOF'' else ''
|
|
|
|
StartupNotify=${startupNotify}
|
|
|
|
EOF''}
|
2009-05-10 13:03:53 +01:00
|
|
|
'';
|
|
|
|
}
|