A streamlined script to set up a modern development environment on Linux systems, focusing on installing the latest versions of essential tools directly from GitHub into $HOME/.local/.
This script installs and configures:
- Shell Utilities: fzf, ripgrep, fd, tmux, bat, eza, glow, jaq
- Programming Languages: Rust, Node.js (via nvm), Go
- Development Tools: Neovim (with LazyVim), Nushell, Fish
- Package Managers: uv (Python)
- No root privileges needed for updates
- Always get the latest releases from GitHub
- Avoid conflicts with system package manager
- Consistent across different Linux distributions
git clone https://github.com/nguyenvulong/devenv-linux.gitcd devenv-linux
chmod +x install.sh
./install.shsource $HOME/.bashrc
nvim # Wait for plugin installation to complete
To exit Neovim: press <space> q q
For convenience, you can add some aliases, here are mine
# Aliases added to `~/.bashrc`
alias v="nvim"
alias vd="nvim -d"
alias cat="BAT_THEME=DarkNeon bat --paging=never --plain"
alias ls="eza --icons=always"
alias ll="eza -lh"
alias l="eza -lah --classify --grid"
alias tree="eza --tree"And source $HOME/.bashrc again.
#
set PATH $PATH ~/.local/bin
# aliases
alias ls='eza --icons=always'
alias la='ls -a'
alias ll='eza -lah'
alias l='eza -lah --classify --grid'
alias vim='v'
alias v='nvim'
alias vd='nvim -d'
alias cat='BAT_THEME=Dracula bat --paging=never --plain'
function history
builtin history --show-time="%Y-%m-%d %H:%M:%S " $argv
endAnd source ~/.config/fish/config.fish.
- Tested on: Debian, Ubuntu, Fedora, CentOS Stream, and Arch Linux
- Must be run from
bashshell - Need
sudoprivileges to installbuild essentials,tmux, andnushell - Can be overwhelming for new users
- Some tools can be redundant
- More distros
- Dockerization
MIT