A comprehensive setup script (setup_wsl_ubuntu.sh) to automate the setup of WSL (Windows Subsystem for Linux) and install/configure Ubuntu with a GUI environment, RDP access, graphics-accelerated terminal, fonts/themes/icons, pre-configured Neovim (LazyVim), and various development tools for a quick dev environment startup.
- Sets up WSL and installs Ubuntu 22.04 LTS
- Installs and configures a desktop GUI (XFCE) on Ubuntu
- Sets up XRDP for remote access to the GUI environment via RDP
- Installs and configures Alacritty graphics accelerated terminal emulator
- Configures JetBrains Mono Nerd Font accross tools
- Installs Node.js, Yarn, and Bun for modern JavaScript development
- Installs and configures Visual Studio Code with essential extensions
- Installs and sets up LazyVim (Neovim config) with LSPs, plugins, and custom keybinds
- Configures devicons for enhanced visual file type recognition in Neovim
- Installs and configures various tools like tmux, Python, and more
Before running the setup script, ensure that your system meets the following requirements:
- Windows 10 or later with WSL2 support
- Internet connection
Refer to this video for details about the tech stack and setup process: https://www.youtube.com/watch?v=ZvGonjdK1TQ
- Download and run the
wsl_setup.ps1PowerShell script to set up WSL and install Ubuntu 22.04 LTS:
iwr -useb https://raw.githubusercontent.com/tsmith165/lazyvim-ubuntu-installer/main/wsl_setup.ps1 | iex- Reboot your system to apply/load the WSL configuration.
- Run
wsl --set-default-version 2in an elevated powershell session to set WSL2 as the default version - Install the WSL2 Linux Kernel update by running the MSI installer in your user downloads folder
- Or download the kernel update yourself at: https://learn.microsoft.com/en-us/windows/wsl/install-manual
- Install the Ubuntu 22.04 LTS app from the Microsoft Store (https://apps.microsoft.com/detail/9pn20msr04dw?hl=en-us&gl=US)
- Open the Ubuntu 22.04 LTS app to allow it to fully install. It will then ask you to configure user/password.
- Clone the
Lazy Ubuntu Installerrepository and run thesetup_wsl_ubuntu.shscript with:
sudo git clone https://github.com/tsmith165/lazyvim-ubuntu-installer.git /main/scripts/lazyvim-ubuntu-installer && sudo sh -c 'cd /main/scripts/lazyvim-ubuntu-installer && ./setup_wsl_ubuntu_lazyvim.sh'
-
Once the setup is complete, use an RDP client (Windows RDP, MobaXTerm) to connect to the provided IP address and port.
-
To open the Alacritty terminal, click the top left button for "Applications" > "System" > "Alacritty"
-
To open LazyVim, run:
sudo nvim
If you want to customize the LazyVim configuration, you can modify the files in the ~/.config/nvim directory.
For information on the custom keybinds and plugins, refer to the following files:
To customize Alacritty, modify the ~/.config/alacritty/alacritty.conf file.
For information on Alacritty config, refer to: https://alacritty.org/config-alacritty.html
To add Dev Icons for file types we dont support by default, modify the ~/.config/nvim/lua/config/devicons.lua file.
Refer to this Nerd Font cheat sheet for choosing Dev Icons: https://www.nerdfonts.com/cheat-sheet Not all Dev Icons may be supported by the nerd font we installed or that you configured yourself.
If you encounter any issues during the setup process, please check the log files generated by the setup scripts for detailed information and error messages.
This project is licensed under the MIT License.

