diff options
Diffstat (limited to 'pkgs/shells/zsh/oh-my-zsh/default.nix')
-rw-r--r-- | pkgs/shells/zsh/oh-my-zsh/default.nix | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix deleted file mode 100644 index e1149cf9c687..000000000000 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ /dev/null @@ -1,125 +0,0 @@ -# This script was inspired by the ArchLinux User Repository package: -# -# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=oh-my-zsh-git -{ lib, stdenv, fetchFromGitHub, nixosTests, writeScript, common-updater-scripts -, git, nix, nixfmt-classic, jq, coreutils, gnused, curl, cacert, bash }: - -stdenv.mkDerivation rec { - version = "2024-09-01"; - pname = "oh-my-zsh"; - - src = fetchFromGitHub { - owner = "ohmyzsh"; - repo = "ohmyzsh"; - rev = "b8c69d265257fae88fe504ea43cbcf2728bc1308"; - sha256 = "sha256-Q0SjYWkWY5/haoPunp5yusYoXIXzmB2tces/9gOZgJM="; - }; - - strictDeps = true; - buildInputs = [ bash ]; - - installPhase = '' - runHook preInstall - - outdir=$out/share/oh-my-zsh - template=templates/zshrc.zsh-template - - mkdir -p $outdir - cp -r * $outdir - cd $outdir - - rm LICENSE.txt - rm -rf .git* - - 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 - - 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 - - # 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 - - # Load the variables. - if [ -f ~/.zsh_variables ]; then - . ~/.zsh_variables - fi - - # Load the functions. - if [ -f ~/.zsh_funcs ]; then - . ~/.zsh_funcs - fi - - # Load the aliases. - if [ -f ~/.zsh_aliases ]; then - . ~/.zsh_aliases - fi - EOF - - runHook postInstall - ''; - - passthru = { - tests = { inherit (nixosTests) oh-my-zsh; }; - - updateScript = writeScript "update.sh" '' - #!${stdenv.shell} - set -o errexit - PATH=${ - lib.makeBinPath [ - common-updater-scripts - curl - cacert - git - nixfmt-classic - nix - jq - coreutils - gnused - ] - } - - oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion oh-my-zsh" | tr -d '"')" - latestSha="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits\?sha\=master\&since\=$oldVersion | jq -r '.[0].sha')" - - if [ ! "null" = "$latestSha" ]; then - nixpkgs="$(git rev-parse --show-toplevel)" - default_nix="$nixpkgs/pkgs/shells/zsh/oh-my-zsh/default.nix" - latestDate="$(curl -L -s https://api.github.com/repos/ohmyzsh/ohmyzsh/commits/$latestSha | jq '.commit.committer.date' | sed 's|"\(.*\)T.*|\1|g')" - update-source-version oh-my-zsh "$latestDate" --rev="$latestSha" - nixfmt "$default_nix" - else - echo "${pname} is already up-to-date" - fi - ''; - }; - - meta = with lib; { - description = "Framework for managing your zsh configuration"; - longDescription = '' - Oh My Zsh is a framework for managing your zsh configuration. - - To copy the Oh My Zsh configuration file to your home directory, run - the following command: - - $ cp -v $(nix-env -q --out-path oh-my-zsh | cut -d' ' -f3)/share/oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc - ''; - homepage = "https://ohmyz.sh/"; - license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ nequissimus ]; - }; -} |