diff --git a/pkgs/os-specific/darwin/m-cli/default.nix b/pkgs/os-specific/darwin/m-cli/default.nix new file mode 100644 index 000000000000..75f1113e9f08 --- /dev/null +++ b/pkgs/os-specific/darwin/m-cli/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "m-cli-${version}"; + version = "0.2.5"; + + src = fetchFromGitHub { + owner = "rgcr"; + repo = "m-cli"; + rev = "v${version}"; + sha512 = "0mkcx7jq91pbfs8327qc8434gj73fvjgdfdsrza0lyd9wns6jhsqsf0585klzl68aqscvksgzi2asdnim4va35cdkp2fdzl0g3sm4kd"; + }; + + dontBuild = true; + + installPhase = '' + local MPATH="$out/share/m" + + gawk -i inplace '{ + gsub(/^\[ -L.*|^\s+\|\| pushd.*|^popd.*/, ""); + gsub(/MPATH=.*/, "MPATH='$MPATH'"); + gsub(/(update|uninstall)_mcli \&\&.*/, "echo NOOP \\&\\& exit 0"); + print + }' m + + install -Dt "$MPATH/plugins" -m755 plugins/* + + install -Dm755 m $out/bin/m + + install -Dt "$out/share/bash-completion/completions/" -m444 completion/bash/m + install -Dt "$out/share/fish/vendor_completions.d/" -m444 completion/fish/m.fish + install -Dt "$out/share/zsh/site-functions/" -m444 completion/zsh/_m + ''; + + meta = with stdenv.lib; { + description = "Swiss Army Knife for macOS"; + inherit (src.meta) homepage; + repositories.git = git://github.com/rgcr/m-cli.git; + + license = licenses.mit; + + platforms = platforms.darwin; + maintainers = with maintainers; [ yurrriq ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 71a7c18144da..bd2bf75a309f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -684,6 +684,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Carbon Cocoa; }; + m-cli = callPackage ../os-specific/darwin/m-cli { }; + reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace {}; skhd = callPackage ../os-specific/darwin/skhd { @@ -3168,7 +3170,7 @@ with pkgs; jing-trang = callPackage ../tools/text/xml/jing-trang { }; jira-cli = callPackage ../development/tools/jira_cli { }; - + jl = haskellPackages.callPackage ../development/tools/jl { }; jmespath = callPackage ../development/tools/jmespath { };