From f1e667234daebed9c74895bd2b78e59fd8bd825d Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 28 Aug 2020 12:28:16 +0200 Subject: [PATCH] oh-my-zsh: cleanup - use fetchFromGitHub instead of fetchgit - indent the `installPhase` properly - remove unused `pathsToLink` - don't hardcode `phases` to allow patching - don't copy from $src, but . to allow patching --- pkgs/shells/zsh/oh-my-zsh/default.nix | 84 +++++++++++++-------------- 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index 2fce32e018e..ddc0ae1a2ad 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -1,70 +1,68 @@ # This script was inspired by the ArchLinux User Repository package: # # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=oh-my-zsh-git -{ stdenv, fetchgit }: +{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { version = "2020-08-24"; pname = "oh-my-zsh"; - rev = "cfb86cd08d3b24fd4b59d0d35b3af1f589c891fa"; - src = fetchgit { inherit rev; - url = "https://github.com/ohmyzsh/ohmyzsh"; + src = fetchFromGitHub { + owner = "ohmyzsh"; + repo = "ohmyzsh"; + rev = "cfb86cd08d3b24fd4b59d0d35b3af1f589c891fa"; sha256 = "0af37smv0bqw37bng2halzgszf8y3m2sxahdff54m16asm0py2cr"; }; - pathsToLink = [ "/share/oh-my-zsh" ]; - - phases = "installPhase"; installPhase = '' - outdir=$out/share/oh-my-zsh - template=templates/zshrc.zsh-template + outdir=$out/share/oh-my-zsh + template=templates/zshrc.zsh-template - mkdir -p $outdir - cp -r $src/* $outdir - cd $outdir + mkdir -p $outdir + cp -r * $outdir + cd $outdir - rm LICENSE.txt - rm -rf .git* + rm LICENSE.txt + rm -rf .git* - chmod -R +w templates + chmod -R +w templates - # Change the path to oh-my-zsh dir and disable auto-updating. - sed -i -e "s#ZSH=\$HOME/.oh-my-zsh#ZSH=$outdir#" \ - -e 's/\# \(DISABLE_AUTO_UPDATE="true"\)/\1/' \ - $template + # Change the path to oh-my-zsh dir and disable auto-updating. + sed -i -e "s#ZSH=\$HOME/.oh-my-zsh#ZSH=$outdir#" \ + -e 's/\# \(DISABLE_AUTO_UPDATE="true"\)/\1/' \ + $template - chmod +w oh-my-zsh.sh + chmod +w oh-my-zsh.sh - # Both functions expect oh-my-zsh to be in ~/.oh-my-zsh and try to - # modify the directory. - cat >> oh-my-zsh.sh <<- EOF + # Both functions expect oh-my-zsh to be in ~/.oh-my-zsh and try to + # modify the directory. + cat >> oh-my-zsh.sh <<- EOF - # Undefine functions that don't work on Nix. - unfunction uninstall_oh_my_zsh - unfunction upgrade_oh_my_zsh - EOF + # Undefine functions that don't work on Nix. + unfunction uninstall_oh_my_zsh + unfunction upgrade_oh_my_zsh + EOF - # Look for .zsh_variables, .zsh_aliases, and .zsh_funcs, and source - # them, if found. - cat >> $template <<- EOF + # Look for .zsh_variables, .zsh_aliases, and .zsh_funcs, and source + # them, if found. + cat >> $template <<- EOF - # Load the variables. - if [ -f ~/.zsh_variables ]; then - . ~/.zsh_variables - fi + # Load the variables. + if [ -f ~/.zsh_variables ]; then + . ~/.zsh_variables + fi - # Load the functions. - if [ -f ~/.zsh_funcs ]; then - . ~/.zsh_funcs - fi + # Load the functions. + if [ -f ~/.zsh_funcs ]; then + . ~/.zsh_funcs + fi - # Load the aliases. - if [ -f ~/.zsh_aliases ]; then - . ~/.zsh_aliases - fi - EOF + # Load the aliases. + if [ -f ~/.zsh_aliases ]; then + . ~/.zsh_aliases + fi + EOF ''; meta = with stdenv.lib; {