1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5}:
6
7stdenv.mkDerivation rec {
8 pname = "m-cli";
9 version = "0.3.0";
10
11 src = fetchFromGitHub {
12 owner = "rgcr";
13 repo = "m-cli";
14 rev = "v${version}";
15 sha256 = "sha256-KzlE1DdVMLnGmcOS1a2HK4pASofD1EHpdqbzVVIxeb4=";
16 };
17
18 dontBuild = true;
19
20 installPhase = ''
21 local MPATH="$out/share/m"
22
23 gawk -i inplace '{
24 gsub(/^\[ -L.*|^\s+\|\| pushd.*|^popd.*/, "");
25 gsub(/MPATH=.*/, "MPATH='$MPATH'");
26 gsub(/(update|uninstall)_mcli \&\&.*/, "echo NOOP \\&\\& exit 0");
27 print
28 }' m
29
30 install -Dt "$MPATH/plugins" -m755 plugins/*
31
32 install -Dm755 m $out/bin/m
33
34 install -Dt "$out/share/bash-completion/completions/" -m444 completion/bash/m
35 install -Dt "$out/share/fish/vendor_completions.d/" -m444 completion/fish/m.fish
36 install -Dt "$out/share/zsh/site-functions/" -m444 completion/zsh/_m
37 '';
38
39 meta = with lib; {
40 description = "Swiss Army Knife for macOS";
41 inherit (src.meta) homepage;
42
43 license = licenses.mit;
44
45 platforms = platforms.darwin;
46 maintainers = [ ];
47 mainProgram = "m";
48 };
49}