Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added install-all.sh #65

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

laluka
Copy link

@laluka laluka commented Aug 22, 2021

Hi folks !
Thanks for the awesome work on findings these gems !

So, this is just a draft, and might not be the best way to do it, but it could be used as a base for tools installation ! :)

A few ideas of improvement:

  • Some tools are conflicting, maybe, like for history : fzf XOR mcfly
  • The install procedure relies too much on dependencies, maybe for every tool parse the github release page and install the package ?
  • Have some sort of arg parsing to select the tools to install

That being said.. Have a nice day!
Cheers, lalu

@slavaGanzin
Copy link

sudo apt install -y fzf

So it's not install-all.sh it's install-all-on-ubuntu.sh.

@laluka
Copy link
Author

laluka commented Aug 23, 2021

sudo apt install -y fzf

So it's not install-all.sh it's install-all-on-ubuntu.sh.

There are so many install methods for these tools, it's a first start ! :)

Maybe with the approach of automated parsing of every release page, we can at least cover unix/macos

@slavaGanzin
Copy link

Maybe with the approach of automated parsing of every release page, we can at least cover unix/macos

AUR is user supported recipes for installation for Arch. A couple of times I used them to guide my installation on other *nix systems. They are easily parsable, standardized and half-time isn't Arch speciefic, so they are easier to parse then release pages.

BTW, you can install fzf with just git

@SuperSandro2000
Copy link

There are so many install methods for these tools, it's a first start ! :)

Some of them are in Debian, some of them are in arch, some require go or rust and probably most of them are in nixpkgs. There are to many variants to cover here. I think this is a maintenance rabbit hole and not worth the effort.

Copy link

@georgettica georgettica left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made a good effort in checking this change

It is highly opinionated and these opinions should be communicated before any action in the script takes place

Anyhow I hope my review is helpful for you

exit
fi

if ! command -v docker &> /dev/null

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the issues docker is exhibiting now, maybe also have alternatives to docker?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@georgettica offtopic: what are the issues?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will discuss on a private channel (via LinkedIn)

then
echo "cheat already installed"
else
go get -u github.com/cheat/cheat/cmd/cheat

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In newer versions of go you can use
go install

Please investigate and bote your results

echo "br already installed"
else
wget https://dystroy.org/broot/download/x86_64-linux/broot
chmod +x broot

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use one tool if possible

You used curl before and now you are using wget

fi

# dog
if grep -F "alias dog" ~/.zshrc &> /dev/null

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you are checking only in zshrc, why are you adding to the bashrc aswell?

then
echo "glances already installed"
else
echo 'alias glances="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it nicolargo/glances:latest-full"' >> ~/.zshrc

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure mounting the docker socket is a security best-practice

echo "gping already installed"
else
echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same wget/curl here

echo "Also, ensure ~/.cargo/bin/ is in your PATH variable"
exit
fi

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verify dependencies for the tools (curl) exist before running the script

then
echo "gtop already installed"
else
echo 'alias gtop="docker run --rm -it --name gtop --net=host --pid=host aksakalli/gtop"' >> ~/.zshrc

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is the running with the hosts pid?

then
echo "btm already installed"
else
LATEST=$(curl -s https://github.com/ClementTsang/bottom/releases | grep -oP "/[a-zA-Z0-9.:_/]+_amd64.deb" | grep -viE "nightly" | head -n 1 | sed "s#^#https://github.com&#g")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure this is the best way of pulling packages from GitHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants