Skip to content

arturonavax/env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦊 env

Terminal-based development environment.

πŸ“œ Tutorials here πŸ“œ


  1. Installation ✨
  2. Features β˜‘οΈ
  3. Requirements
  4. Custom configuration βš™οΈ
  5. More keyboard speed ⌨️
  6. Precaution and Backup ⚠️
  7. Reminders
  8. Remote Scripts

Installation ✨

bash <(curl -fsSL "https://env.arturonavax.dev/install.sh") help

List of installation parameters:

  • requirements / r: Install the necessary tools, languages and dependencies.

    Install basic dependencies (depending on the operating system), and the following: pyenv, python3, pipx, cargo, rustc, fnm, node, npm, pnpm and go

  • fonts / f: Install patched mono fonts.

  • terminal / t: Install the terminal, shell, prompt, tmux and terminal tools.

  • editor / e: Install the editor (lvim) and development tools.

  • osconfig / o: Configure the operationg system with personal preferences.

  • all / a: Install and integrate all of the above.

Aggressive new installation

Uninstall the main programs and delete the configuration and cache folders

./uninstall.sh && ./install.sh all

Requirements

The installer of this environment is prepared for:

  • Debian/Ubuntu based systems using apt and snap.

  • Fedora/CentOS/RHEL based systems using dnf.

  • MacOS Systems.

If pnpm is installed, it will be used instead of npm.

If pipx is installed, it will be used instead of python3 -m pip for some installations.

Resolve EACCES permissions when installing packages globally to avoid error when installing packages with npm.

For terminal

  • git

For editor

  • git

  • make

  • cargo

  • python3

    • pip
  • node >= v12.0.0

    • npm

For fonts

  • fc-cache (package fontconfig)

To install the extra tools

terminal and editor Install extra tools and utilities only if these requirements are installed:

  • go >= v1.15.0

  • python3

    • pip
  • node >= v12.0.0

    • npm

Precaution and Backup ⚠️

Read install.sh file before running on your system

This installer replaces configuration files, so it makes an automatic backup of all current files that it replaces in ~/.arturonavax-env-backups/

The backup script is: backup_config.sh

Features β˜‘οΈ

Screenshots of the environment in screenshots/

Terminal πŸ’» (alacritty)

Editor πŸ“ (lvim)

  • Fast startup time ⚑

  • Lazy-load of plugins πŸ¦₯

  • LSP / Code Completion 🧠:thought_balloon:

    • Installer (:LspInstall <language>)

    • Automatic language installation! (config server :LspSettings <server>)

    • Autocomplete signatures

    • Hover documentation (K)

    • Snippets

  • File search πŸ”πŸ“„ (<Space>f)

  • Word search πŸ”πŸ”€ (<Space>j)

  • Linters πŸ”¦

  • Formatters πŸ› οΈ

  • Code Actions

  • Code Lens

And much more πŸ‘€

Synchronize with updates

There is a utility script to synchronize with the new configuration files without having to perform the complete installation.

./utils/sync_config.sh help

List of synchronization parameters:

  • terminal / t: Synchronize the Terminal settings.
  • editor / e: Synchronize Editor (lvim) settings.
  • osconfig / o: Configure the operating system with personal preferences.
  • plugins / p: Synchronize Editor (lvim) plugins.
  • vscode / v: Synchronize Visual Studio Code settings.
  • devtools / d: Synchronizes the configuration of development tools.
  • all / a: Synchronizes the configuration of all of the above.

Custom configuration βš™οΈ

To add custom configurations do it in the ~/.lunarvim.lua file

For example, to add more plugins would be:

vim.list_extend(lvim.plugins,
    {
        "folke/lsp-colors.nvim",
        event = "BufRead",
    }
)

-- change leader key
lvim.leader = ","

-- change theme
lvim.colorscheme = "onedarker"

More keyboard speed ⌨️

If with Ctrl-Alt-F3 you go to another terminal without graphic interface and use Vim you will notice that the movement speed is higher, this is because our graphic server configures the "delay rate" and "repeat rate" of our keyboard with "slower" values... these are the values of how much we must wait for a key to repeat and how much it repeats

When I noticed this I felt very slow in Vim, you can change the delay and repeat rate with the following command:

# on linux:
xset r rate 200 30

Transparency

Terminal transparency can be turned on and off using the transparent command and its alias tt

Dark and Light theme

By executing the command darktheme (aka da) or lighttheme (aka li) you can activate the different themes

Reminders

  • The first save (:w) in a new project, or a first installation of this environment will be slow, because it is caching.

Remote Scripts

There are utility scripts that can be executed remotely as they do not depend on other local files, these scripts are in the src/remotes/ folder.

Scripts starting with underscore (_) are made to be executed with the source command.

The following subdomains redirect to remote scripts folder:

  • env.arturonavax.dev
  • env.arturonavax.com
  • environment.arturonavax.dev
  • environment.arturonavax.com

Examples:

bash <(curl -fsSL "https://env.arturonavax.dev/install_golang.sh") -i
source <(curl -fsSL "https://env.arturonavax.dev/_vars_colors.sh" | cat)