PitchHut logo
Easily set up a modern zsh environment with one command.
Pitch

LinuxEnv transforms a fresh Linux installation into a personalized zsh command-line environment with a single command. It features a modern, git-aware prompt, essential interactive plugins, and a suite of CLI tools, making it seamless to enhance productivity without any complex setup steps.

Description

LinuxEnv is a powerful shell environment configurator designed to revolutionize the command-line experience on fresh Linux installations. By executing a single command, users can transform their system into a fully-featured zsh environment equipped with modern tools, enhanced plugins, and a visually appealing prompt—without requiring a reboot or any manual intervention.

Quick Installation

To set up, simply run:

curl -L sh.pgj11.com | bash

Ensure to use the -L option to handle redirections correctly.

After installation, executing exec zsh or opening a new terminal will load the optimized command-line environment.

Features

The LinuxEnv setup includes extensive features:

  • Shell and Prompt: Experience the robust functionalities of zsh, seamlessly integrated with the Starship prompt, providing a modern and informative display of your command-line status.
  • Interactive Plugins: Enhance productivity with notable plugins such as:
    • zsh-autosuggestions: Auto-suggests commands from history as you type.
    • fast-syntax-highlighting: Highlights commands in real-time to help catch errors before execution.
    • fzf-tab: Offers fuzzy tab-completion for quick access to directory paths.
  • Modern CLI Tools: This setup also includes essential tools like fzf (fuzzy finder), zoxide (a smarter way to navigate directories), atuin (improved shell history), and many more to streamline command-line interactions.

Comprehensive Toolset

Here's an overview of the essential components installed:

  • CLI Tools: fzf, zoxide, atuin, bat, eza, fd, ripgrep, delta, along with tmux, vim, git, and curl for complete command-line functionality.
  • Dotfiles Configuration: Automatically configures personal settings such as ~/.zshrc and ~/.config/starship.toml, optimizing the setup tailored to the user's needs.
  • Visual Enhancements: Leverage the UbuntuMono Nerd Font to ensure correct rendering of icons and symbols in the shell prompt.

Compatibility

LinuxEnv supports a variety of Linux distributions, including:

  • Debian/Ubuntu
  • Fedora/RHEL
  • Arch
  • openSUSE
  • Alpine

It operates on both x86_64 and ARM architectures, ensuring extensive compatibility across devices.

User-Friendly Experience

The installation script is designed to be idempotent, allowing users to rerun it without issues. It intelligently adapts based on the system capabilities—providing options for users with or without elevated permissions. Backup of existing configuration files is automated, so users can seamlessly transition to the new environment.

Continuous Integration

This project incorporates continuous integration to ensure robust deployment. Each push and pull request triggers tests to validate script functionality across various Linux distributions, as well as syntax checks to maintain code quality.

For more in-depth insights regarding individual tools and their functionality, a detailed usage guide is provided in the README, making it easy to fully leverage the capabilities of your enhanced command-line environment.

0 comments

No comments yet.

Sign in to be the first to comment.