Terminal-based development environment.
- Installation β¨
- Features βοΈ
- Requirements
- Custom configuration βοΈ
- More keyboard speed β¨οΈ
- Precaution and Backup
β οΈ - Reminders
- Remote Scripts
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
andgo
-
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.
Uninstall the main programs and delete the configuration and cache folders
./uninstall.sh && ./install.sh all
The installer of this environment is prepared for:
-
Debian/Ubuntu based systems using
apt
andsnap
. -
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.
git
-
git
-
make
-
cargo
-
python3
pip
-
node
>= v12.0.0npm
fc-cache
(packagefontconfig
)
terminal
and editor
Install extra tools and utilities only if these
requirements are installed:
-
go
>= v1.15.0 -
python3
pip
-
node
>= v12.0.0npm
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
Screenshots of the environment in screenshots/
-
True Color π
-
Patched Mono Font: Caskaydia Cove
Terminal π» (alacritty
)
-
-
Syntax highlighting π¦π
-
Autosuggestions π
-
FzF π (
<Ctrl>r
)
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 π
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.
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"
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
Terminal transparency can be turned on and off using the transparent
command
and its alias tt
By executing the command darktheme
(aka da
) or lighttheme
(aka li
) you
can activate the different themes
- The first save (
:w
) in a new project, or a first installation of this environment will be slow, because it is caching.
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)