diff --git a/pkgs/shells/fish/oh-my-fish/default.nix b/pkgs/shells/fish/oh-my-fish/default.nix index 6c09599972d1..0801eb628347 100644 --- a/pkgs/shells/fish/oh-my-fish/default.nix +++ b/pkgs/shells/fish/oh-my-fish/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , fish , runtimeShell -, writeShellScript +, substituteAll }: stdenv.mkDerivation (finalAttrs: { @@ -11,41 +11,41 @@ stdenv.mkDerivation (finalAttrs: { version = "unstable-2022-03-27"; src = fetchFromGitHub { - owner = finalAttrs.pname; - repo = finalAttrs.pname; + owner = "oh-my-fish"; + repo = "oh-my-fish"; rev = "d428b723c8c18fef3b2a00b8b8b731177f483ad8"; hash = "sha256-msItKEPe7uSUpDAfCfdYZjt5NyfM3KtOrLUTO9NGqlg="; }; - strictDeps = true; buildInputs = [ fish ]; + strictDeps = true; + dontConfigure = true; dontBuild = true; installPhase = '' runHook preInstall - mkdir -pv $out/bin $out/share/${finalAttrs.pname} - cp -vr * $out/share/${finalAttrs.pname} + mkdir -pv $out/bin $out/share/oh-my-fish + cp -vr * $out/share/oh-my-fish - cat << EOF > $out/bin/omf-install - #!${runtimeShell} + cp -v ${substituteAll { + name = "omf-install"; + src = ./omf-install; + OMF = placeholder "out"; + inherit fish runtimeShell; + }} $out/bin/omf-install - ${fish}/bin/fish \\ - $out/share/${finalAttrs.pname}/bin/install \\ - --noninteractive \\ - --offline=$out/share/${finalAttrs.pname} - - EOF chmod +x $out/bin/omf-install + cat $out/bin/omf-install runHook postInstall ''; - meta = with lib; { + meta = { homepage = "https://github.com/oh-my-fish/oh-my-fish"; description = "The Fish Shell Framework"; longDescription = '' @@ -53,10 +53,10 @@ stdenv.mkDerivation (finalAttrs: { which extend or modify the look of your shell. It's fast, extensible and easy to use. ''; - license = licenses.mit; - maintainers = with maintainers; [ AndersonTorres ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ AndersonTorres ]; mainProgram = "omf-install"; - platforms = fish.meta.platforms; + inherit (fish.meta) platforms; }; }) # TODO: customize the omf-install script diff --git a/pkgs/shells/fish/oh-my-fish/omf-install b/pkgs/shells/fish/oh-my-fish/omf-install new file mode 100644 index 000000000000..0b8be218e38a --- /dev/null +++ b/pkgs/shells/fish/oh-my-fish/omf-install @@ -0,0 +1,6 @@ +#!@runtimeShell@ + +@fish@/bin/fish \ + @OMF@/share/oh-my-fish/bin/install \ + --noninteractive \ + --offline=@OMF@/share/oh-my-fish