diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9c3eda660e93..cb621e5762b0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6852,6 +6852,12 @@ githubId = 3967312; name = "Jocelyn Thode"; }; + joedevivo = { + email = "55951+joedevivo@users.noreply.github.com"; + github = "joedevivo"; + githubId = 55951; + name = "Joe DeVivo"; + }; joelancaster = { email = "joe.a.lancas@gmail.com"; github = "JoeLancaster"; diff --git a/pkgs/shells/zsh/zimfw/default.nix b/pkgs/shells/zsh/zimfw/default.nix new file mode 100644 index 000000000000..f78723ee6e2b --- /dev/null +++ b/pkgs/shells/zsh/zimfw/default.nix @@ -0,0 +1,45 @@ +{ stdenv, lib, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "zimfw"; + version = "1.11.0"; + src = fetchFromGitHub { + owner = "zimfw"; + repo = "zimfw"; + rev = "v${version}"; + ## zim only needs this one file to be installed. + sparseCheckout = [ "zimfw.zsh" ]; + sha256 = "sha256-BmzYAgP5Z77VqcpAB49cQLNuvQX1qcKmAh9BuXsy2pA="; + }; + strictDeps = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r $src/zimfw.zsh $out/ + + runHook postInstall + ''; + + ## zim automates the downloading of any plugins you specify in the `.zimrc` + ## file. To do that with Nix, you'll need $ZIM_HOME to be writable. + ## `~/.cache/zim` is a good place for that. The problem is that zim also + ## looks for `zimfw.zsh` there, so we're going to tell it here to look for + ## the `zimfw.zsh` where we currently are. + postFixup = '' + substituteInPlace $out/zimfw.zsh \ + --replace "\''${ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh" + ''; + + meta = with lib; { + description = + "The Zsh configuration framework with blazing speed and modular extensions"; + homepage = "https://zimfw.sh"; + license = licenses.mit; + maintainers = [ maintainers.joedevivo ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 14753d024955..71c46f08d635 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13498,6 +13498,8 @@ with pkgs; zim-tools = callPackage ../tools/text/zim-tools { }; + zimfw = callPackage ../shells/zsh/zimfw { }; + zld = callPackage ../development/tools/zld { }; par = callPackage ../tools/text/par { };