Skip to content
This repository has been archived by the owner on Sep 10, 2019. It is now read-only.

ntrrg/ntenvs

Repository files navigation

NtEnvsjs

Noob tools for development Environments

Version License Build Status Codacy Badge BCH compliance CII Best Practices


WARNING: This project was created for personal usage and learning purpose, use this other tools instead, which were written by better developers than me. 😂


Sometimes, I think that using the existing tools for managing programming languages, projects structures, containers, VMs and others things like that are more complicated than a 10x10x10 Rubik Cube, just kidding 😅😂 but really, sometimes:

  • I want to use the latest version of my favorite programming language, but the packages manager doesn't help and I shouldn't install it by myself. 😡

  • I want to understand at least the 15% of my application source code, but the scaffolding tool from the framework is a better developer than me and I should do what it say, remember, don't reinvent the wheel. 😡

  • I try to create my own controlled and isolated environment, but I should use super complex softwares like cluster managers and virtual machines managers, no matter if I have no idea what happens behind scenes, again, I should not reinvent the wheel. 😡

I am not trying to say that all this things are bad, actually it is great to know that out there are so many smart people who already solved the problems that I am facing, and even better, they shared the solution; but it doesn't mean that I shouldn't known how they did it. At work or production environments, it is good, saving time and using well tested software is a must do, but if I just want to learn some fundamentals for being a better developer, I think that it is a must don't.

P.S. I know that I can't say all this things using high level tools, but in a near future (hopefully), I will try to go at the lowest level that I can.

Features

  • Containers images management.
    • RootFS containers

Install

Dependencies:

  • wget

Binary

wget -c 'https://goo.gl/bRwqGN' -O /tmp/ntenvs
sudo cp /tmp/ntenvs /usr/bin/ntenvs
sudo chmod +x /usr/bin/ntenvs

Actually, /usr/bin/ is not mandatory, you can put NtEnvs anywhere you want (remember, if it isn't in PATH you can't use ntenvs without specifying the path).

From the source

Build dependencies:

  • git
  • make
git clone https://github.com/ntrrg/ntenvs.git
cd ntenvs
make
sudo make install
make clean

Usage

Use instead

Containers

Programming languages

Node.js

Python

Uninstall

sudo rm "$(which ntenvs)"
rm -r "${HOME}/.cache/ntenvs"

Contributing

See the contribution guide for more information.

Acknowledgment

Working on this project I use/used:

Bash Hackers Wiki. http://wiki.bash-hackers.org

Stack Overflow. How do I parse command line arguments in Bash?. https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash

Thanks to Robert Siemer for posting a great answer about getopt.

isaacs. Makefile. https://gist.github.com/isaacs/62a2d1825d04437c6f08

GNU. GNU make. http://www.gnu.org/software/make/manual/make.html

Stack Overflow. Passing arguments to "make run" https://stackoverflow.com/questions/2214575/passing-arguments-to-make-run

Thanks to Jakob Borg for posting a great answer about something like passing arguments to a Makefile.

StackPointer. Shell Script: Echo to Stderr https://stackpointer.io/script/shell-script-echo-to-stderr/355/