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
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
- Checks the Linux distribution and installs a set of common development tools using the appropriate package manager.
- Installs pipx, a tool for installing and running Python applications in isolated environments.
- Downloads and installs bat, a cat clone with syntax highlighting and Git integration.
- Installs Node.js using nvm (Node Version Manager).
- Downloads and installs ctop, a top-like interface for container metrics.
- Installs neofetch, a command-line system information tool.
- Sets up tmux with a specific color scheme.
- Installs oh-my-zsh, a framework for managing Zsh configuration.
- Changes the default shell to Zsh.
- Downloads a specific Zsh theme and modifies the .zshrc file to use this theme and add plugins.
- Disables oh-my-zsh auto-update notifications.
- Installs additional Zsh plugins for autosuggestions and syntax highlighting.
- Sets up Git history visualization and credential storage.
- Installs Miniconda, a free minimal installer for conda.
- Sets up the Rust programming language and Go programming language environments.
- Installs lazygit, a simple terminal UI for git commands.
- Installs neovim, a highly configurable text editor.
- Sets up LunarVim, a distribution of Neovim.
- Installs a faster solver for conda.
- Installs the Meslo font.
- Installs Docker and sets up the user to run Docker commands without sudo.
- Installs lazydocker, a simple terminal UI for Docker.
- Installs lemonade, a remote operation utility.
- Installs ZeroTier, a global P2P VPN.
- 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.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9528500086103bdfc3a0bf7d7bcb97ca5d1eb9ccc84d0fe76b1fefef0ac5152f
|
|
| MD5 |
1708ef248232441cf6033df20e4a056d
|
|
| BLAKE2b-256 |
c8c247e26a2618dc720ea3410de1a190113a7cdcc2f71f7da6176e91bcb657d6
|
Provenance
The following attestation bundles were made for envira-0.0.0.tar.gz:
Publisher:
release.yaml on ControlNet/envira
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
envira-0.0.0.tar.gz -
Subject digest:
9528500086103bdfc3a0bf7d7bcb97ca5d1eb9ccc84d0fe76b1fefef0ac5152f - Sigstore transparency entry: 220023398
- Sigstore integration time:
-
Permalink:
ControlNet/envira@6d2b7250f280d9c19eb15b47b0889d8f655d64ad -
Branch / Tag:
refs/tags/v0.0.0 - Owner: https://github.com/ControlNet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@6d2b7250f280d9c19eb15b47b0889d8f655d64ad -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28d2902f9fb2a6381bd35e7de4801618d8b41f86a35ee45af584549c215b4ed2
|
|
| MD5 |
b4b468b0c3fa6dacbe364ff1c5103a82
|
|
| BLAKE2b-256 |
066df79fe4e2e457f4f6f1bcf0486d6a6998e33ba322812b08d1a73940466528
|
Provenance
The following attestation bundles were made for envira-0.0.0-py3-none-any.whl:
Publisher:
release.yaml on ControlNet/envira
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
envira-0.0.0-py3-none-any.whl -
Subject digest:
28d2902f9fb2a6381bd35e7de4801618d8b41f86a35ee45af584549c215b4ed2 - Sigstore transparency entry: 220023403
- Sigstore integration time:
-
Permalink:
ControlNet/envira@6d2b7250f280d9c19eb15b47b0889d8f655d64ad -
Branch / Tag:
refs/tags/v0.0.0 - Owner: https://github.com/ControlNet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@6d2b7250f280d9c19eb15b47b0889d8f655d64ad -
Trigger Event:
push
-
Statement type: