Skip to main content

A software environment management tool

Project description

envira

A script to fast build my zsh theme environment

It supports the following distributions:

  • Ubuntu and Mint
  • Redhat, CentOS, ...
  • Manjaro

What tools will be installed:

  • The basic development tools (vim, wget, git, ...)
  • Install zsh as the default shell
  • A theme (modified mzz-ys) for zsh with oh-my-zsh
  • Frequently used languages and package managers (python with conda, nodejs, rust, golang, ...)
  • Modern linux terminal tools (exa, bat, fd, ripgrep, lazygit, lunarvim, ...) with alias

theme

How to use it

# lagacy scripts
curl -fsSL https://boot.controlnet.space/ | bash  # if you have sudo permission
curl -fsSL https://boot.controlnet.space/user | bash  # if you don't have sudo permission
# new scripts (still in development)
curl -fsSL https://boot.controlnet.space/envira | bash && ~/.local/bin/envira

For docker

Full tools and configurations for the environment:

FROM ubuntu:22.04

WORKDIR /root

RUN apt-get update -y
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -o DPkg::Options::="--force-confnew" -y tzdata
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y iputils-ping net-tools python3-venv apt-utils make openssh-server gedit vim git git-lfs curl wget zsh gcc make perl build-essential libfuse2 python3-pip screen fzf tmux ncdu bat pipx xsel screenfetch neofetch p7zip-full unzip tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension

RUN curl -fsSL https://boot.controlnet.space/user | bash

CMD ["/bin/zsh"]

Minimal oh-my-zsh setup without extra tools:

# Setup environment
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.5/zsh-in-docker.sh)" -- \
    -t robbyrussell \
    -p https://github.com/zsh-users/zsh-autosuggestions \
    -p https://github.com/zsh-users/zsh-syntax-highlighting

# download theme
RUN curl -fsSL https://raw.githubusercontent.com/ControlNet/my-zsh-theme-env/main/files/mzz-ys.zsh-theme > /root/.oh-my-zsh/themes/mzz-ys.zsh-theme

# modify the .zshrc file to change the theme and add plugins
RUN cat /root/.zshrc | sed 's/ZSH_THEME=\"robbyrussell\"/ZSH_THEME=\"mzz-ys\"\nZSH_DISABLE_COMPFIX=\"true\"/' \
    | sed 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting)/' > /root/temp.zshrc
RUN mv /root/temp.zshrc /root/.zshrc

# setup git alias
RUN git config --global alias.lsd "log --graph --decorate --pretty=oneline --abbrev-commit --all"

# hide conda prefix
RUN echo "changeps1: false" >> /root/.condarc

Detail Steps

  1. Checks the Linux distribution and installs a set of common development tools using the appropriate package manager.
  2. Installs pipx, a tool for installing and running Python applications in isolated environments.
  3. Downloads and installs bat, a cat clone with syntax highlighting and Git integration.
  4. Installs Node.js using nvm (Node Version Manager).
  5. Downloads and installs ctop, a top-like interface for container metrics.
  6. Installs neofetch, a command-line system information tool.
  7. Sets up tmux with a specific color scheme.
  8. Installs oh-my-zsh, a framework for managing Zsh configuration.
  9. Changes the default shell to Zsh.
  10. Downloads a specific Zsh theme and modifies the .zshrc file to use this theme and add plugins.
  11. Disables oh-my-zsh auto-update notifications.
  12. Installs additional Zsh plugins for autosuggestions and syntax highlighting.
  13. Sets up Git history visualization and credential storage.
  14. Installs Miniconda, a free minimal installer for conda.
  15. Sets up the Rust programming language and Go programming language environments.
  16. Installs lazygit, a simple terminal UI for git commands.
  17. Installs neovim, a highly configurable text editor.
  18. Sets up LunarVim, a distribution of Neovim.
  19. Installs a faster solver for conda.
  20. Installs the Meslo font.
  21. Installs Docker and sets up the user to run Docker commands without sudo.
  22. Installs lazydocker, a simple terminal UI for Docker.
  23. Installs lemonade, a remote operation utility.
  24. Installs ZeroTier, a global P2P VPN.
  25. Installs several utilities (lsd, git-delta, duf, dust, fd, ripgrep, gping, procs, xh, uv, speedtest-cli, gdown, zoxide, micro, scc, viu, pm2) and sets up aliases for some of them.
  26. Installs several system monitoring tools (bottom, nvitop, bpytop, bandwhich).

Envira - Software Environment Management Tool

A software environment management tool for console applications.

Installation

From PyPI

pipx install envira

From Binary

TBD

Usage

After installation, you can use the envira command:

envira

License

AGPL 3.0 - see LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

envira-0.0.0.tar.gz (183.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

envira-0.0.0-py3-none-any.whl (49.2 kB view details)

Uploaded Python 3

File details

Details for the file envira-0.0.0.tar.gz.

File metadata

  • Download URL: envira-0.0.0.tar.gz
  • Upload date:
  • Size: 183.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for envira-0.0.0.tar.gz
Algorithm Hash digest
SHA256 9528500086103bdfc3a0bf7d7bcb97ca5d1eb9ccc84d0fe76b1fefef0ac5152f
MD5 1708ef248232441cf6033df20e4a056d
BLAKE2b-256 c8c247e26a2618dc720ea3410de1a190113a7cdcc2f71f7da6176e91bcb657d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for envira-0.0.0.tar.gz:

Publisher: release.yaml on ControlNet/envira

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file envira-0.0.0-py3-none-any.whl.

File metadata

  • Download URL: envira-0.0.0-py3-none-any.whl
  • Upload date:
  • Size: 49.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for envira-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28d2902f9fb2a6381bd35e7de4801618d8b41f86a35ee45af584549c215b4ed2
MD5 b4b468b0c3fa6dacbe364ff1c5103a82
BLAKE2b-256 066df79fe4e2e457f4f6f1bcf0486d6a6998e33ba322812b08d1a73940466528

See more details on using hashes here.

Provenance

The following attestation bundles were made for envira-0.0.0-py3-none-any.whl:

Publisher: release.yaml on ControlNet/envira

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page