My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/shells/fish/oh-my-fish/default.nix

64 lines
1.4 KiB

{ lib
, stdenv
, fetchFromGitHub
, fish
, bash
, runtimeShell
, writeShellScript
}:
stdenv.mkDerivation rec {
pname = "oh-my-fish";
version = "7+unstable=2021-03-03";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "0b1396ad7962073fa25615bf03c43b53eddc2d56";
hash = "sha256-lwMo4+PcYR9kYJPWK+ALiMfBdxFSgB2vjtSn8QrmmEA=";
};
strictDeps = true;
buildInputs = [
fish
bash
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -pv $out/bin $out/share/${pname}
cp -vr * $out/share/${pname}
cat << EOF > $out/bin/omf-install
#!${runtimeShell}
${fish}/bin/fish \\
$out/share/${pname}/bin/install \\
--noninteractive \\
--offline=$out/share/${pname}
EOF
chmod +x $out/bin/omf-install
runHook PostInstall
'';
meta = with lib; {
homepage = "https://github.com/oh-my-fish/oh-my-fish";
description = "The Fish Shell Framework";
longDescription = ''
Oh My Fish provides core infrastructure to allow you to install packages
which extend or modify the look of your shell. It's fast, extensible and
easy to use.
'';
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
mainProgram = "omf-install";
platforms = fish.meta.platforms;
};
}
# TODO: customize the omf-install script