42 lines
1.3 KiB
Nix
42 lines
1.3 KiB
Nix
|
{ stdenv, gnvim-unwrapped, neovim, makeWrapper }:
|
||
|
|
||
|
stdenv.mkDerivation {
|
||
|
pname = "gnvim";
|
||
|
version = gnvim-unwrapped.version;
|
||
|
buildCommand = if stdenv.isDarwin then ''
|
||
|
mkdir -p $out/Applications
|
||
|
cp -r ${gnvim-unwrapped}/bin/gnvim.app $out/Applications
|
||
|
|
||
|
chmod -R a+w "$out/Applications/gnvim.app/Contents/MacOS"
|
||
|
wrapProgram "$out/Applications/gnvim.app/Contents/MacOS/gnvim" \
|
||
|
--prefix PATH : "${neovim}/bin" \
|
||
|
--set GNVIM_RUNTIME_PATH "${gnvim-unwrapped}/share/gnvim/runtime"
|
||
|
'' else ''
|
||
|
makeWrapper '${gnvim-unwrapped}/bin/gnvim' "$out/bin/gnvim" \
|
||
|
--prefix PATH : "${neovim}/bin" \
|
||
|
--set GNVIM_RUNTIME_PATH "${gnvim-unwrapped}/share/gnvim/runtime"
|
||
|
|
||
|
mkdir -p "$out/share"
|
||
|
ln -s '${gnvim-unwrapped}/share/icons' "$out/share/icons"
|
||
|
|
||
|
# copy and fix .desktop file
|
||
|
cp -r '${gnvim-unwrapped}/share/applications' "$out/share/applications"
|
||
|
# Sed needs a writable directory to do inplace modifications
|
||
|
chmod u+rw "$out/share/applications"
|
||
|
for file in $out/share/applications/*.desktop; do
|
||
|
sed -e "s|Exec=.\\+gnvim\\>|Exec=$out/bin/gnvim|" -i "$file"
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
preferLocalBuild = true;
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
makeWrapper
|
||
|
];
|
||
|
|
||
|
passthru.unwrapped = gnvim-unwrapped;
|
||
|
|
||
|
inherit (gnvim-unwrapped) meta;
|
||
|
}
|
||
|
|