pokanop / nostromo

👽 CLI for building powerful aliases and tools
https://nostromo.sh/
MIT License
142 stars 8 forks source link

More package managers support #64

Open saheljalal opened 1 year ago

saheljalal commented 1 year ago

nostromo only has support for installing through brew or go install likely. But it would be nice to add support to other platforms and related package managers including:

Not sure about the popularity of various platforms or tools but some others include:

pcP1r4t3 commented 1 year ago

Hello, Could I start working on this?

saheljalal commented 1 year ago

For this one I'll need to create any accounts and keys for the final delivery. So if anyone can supply the steps or configs required I can take it from the last mile.

Even though goreleaser is used in this project, it appears there's some manual step in release for some managers: https://taskfile.dev/releasing/

Ideally, I'd like to create a Makefile that can encapsulate an automated make release command or something that can trigger any commands necessary.

An example template to use:

.PHONY: all build release help

define success
    echo "\033[0;32m✔\033[0m $(1)"
endef

define failure
    echo "\033[0;31m✘\033[0m $(1)"
endef

all: build ## Standard make call should simply build

build: ## Builds the project
    @<insert build command>
        $(call success,Build completed) || $(call failure,Build completed)

release: build ## Builds all artifacts and releases to various package managers
    @<insert release command>
        $(call success,Release completed) || $(call failure,Release completed)

help: ## Print help documentation
    @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

.DEFAULT_GOAL := help