Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 files

Supported by

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