Automation scripts and Neovim configuration for quickly provisioning a development workstation across major Linux distributions.
- Base tooling: build tools, Git, curl, wget, unzip/zip
- Terminal utilities: fd, ripgrep, tmux, tmuxinator, ranger
- Lua ecosystem: Lua 5.4, LuaRocks,
luasocket - Node.js runtime: NVM with Node.js 22.x and npm 10.x (Copilot-compatible)
- Neovim (latest binary release) with the repo's configuration
- LazyGit (latest release)
- Fonts and themes: 0xProto Nerd Font, Catppuccin Mocha for GNOME Terminal
The installer currently targets systems with one of the following package managers:
apt(Ubuntu, Debian, Pop!_OS, etc.)pacman(Arch Linux, Manjaro, EndeavourOS, etc.)dnf(Fedora, RHEL derivatives)
Note: You need
sudoprivileges and an/etc/os-releasefile. GNOME Terminal theming relies ongsettings; on other terminal emulators the script falls back gracefully.
# Clone the repository
git clone https://github.com/G4burieru/enviroment.git
cd enviroment
# Review the script, then run it
bash install.shThe script is idempotent: re-running it updates tooling and skips components that are already present.
After it finishes:
- Open a new shell (or
source ~/.bashrc) so the updatedPATHand NVM environment take effect. - Launch
nvimonce to allow Lazy to finish syncing plugins:nvim --headless "+quit". - Start
tmuxto confirm the TPM plugins were installed.
- Neovim: installs under
/opt/nvimand adds/opt/nvim/bintoPATH. Your configuration lives in~/.config/nvim(copied from this repo’snvim/directory). - Fonts: 0xProto Nerd Font files are extracted to
~/.fontsandfc-cacherefreshes the font cache. - GNOME Terminal: If the Catppuccin Mocha profile is available, the script makes it the default and forces the font to
0xProto Nerd Font Mono 12. - Node.js: NVM manages runtime versions; the default alias is set to Node 22.x. Run
nvm use 22if a shell falls back to a different version.
librealsense2-dkmsbuild errors (apt-based systems): Clear/var/crash/librealsense2-dkms.0.crash, runsudo dpkg --configure -a, and re-runbash install.sh.- Missing
gsettings: The GNOME Terminal profile update is skipped. Apply the Catppuccin theme manually or adapt the script for your terminal emulator. - Existing PATH entries: The installer removes prior
/opt/nvim-linux64/binexports before appending the new/opt/nvim/binentry.
Spotted a bug or want to support another distribution? Open an issue or submit a pull request. Ideas for additional terminal integrations or sanity checks are welcome.