Skip to content

Commit

Permalink
WSL2 setup instructions (#532)
Browse files Browse the repository at this point in the history
  • Loading branch information
curtisman authored Jan 8, 2025
1 parent c20c8a8 commit 3088d19
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions docs/setup/setup-WSL2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# WSL2 environment setup

This is a list of step-by-step instructions to set up a WSL2 environment from _scratch_ to build, run, and develop the TypeAgent repo, collated from various READMEs throughout the repo and external source. Links to the original instructions for each part are provided for reference, but mostly not required to visit if you just follow the instructions here. Modified the steps as necessary to suit your needs.

## Build

- Initialize Ubuntu distro
- Start Windows command prompt
- `wsl --install Ubuntu`
- Setup WSL Username/password
- Setup node
- Setup [NVM](https://github.com/nvm-sh/nvm)
- `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash`
- `source ~/.bashrc`
- Install Node
- `nvm install --lts`
- Clone and build:
- `git clone https://github.com/microsoft/TypeAgent ~/src/TypeAgent`
- `cd ~/src/TypeAgent/ts`
- `pnpm setup`
- `pnpm i`
- `pnpm run build`

## Run

- Setup for [electron](https://www.electronjs.org/docs/latest/development/build-instructions-linux)
- `sudo apt update`
- `sudo apt-get install -y build-essential clang libdbus-1-dev libgtk-3-dev libnotify-dev libasound2-dev libcap-dev libcups2-dev libxtst-dev libxss1 libnss3-dev gcc-multilib g++-multilib curl gperf bison python3-dbusmock openjdk-8-jre`
- Setup [WSL2 to use Windows font](https://x410.dev/cookbook/wsl/sharing-windows-fonts-with-wsl/)
- `echo '<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig><dir>/mnt/c/Windows/Fonts</dir></fontconfig>' > local.conf`
- `sudo mv local.conf /etc/fonts`
- Add config to `.bashrc`
- Ensure keyring UI display:
- `echo 'dbus-update-activation-environment --all > /dev/null 2>&1' >> ~/.bashrc`
- UI cursor size
- `echo 'export XCURSOR_SIZE=16' >> ~/.bashrc`
- Warning
- `echo 'export GALLIUM_DRIVER=d3d12' >> ~/.bashrc`
- Setup [GNOME keyring](https://wiki.archlinux.org/title/GNOME/Keyring)
- `sudo apt-get install -y gnome-keyring`
- Restart WSL
- `exit`
- `wsl --shutdown`
- `wsl -d Ubuntu`
- `cd ~/src/TypeAgent/ts`
- Setup Service Keys (See instructions [here](./../../ts/README.md#service-keys))
- Run the TypeAgent shell
- `pnpm run shell`
- Dialog will popup to setup up password for the keyring

## Development

- Install VSCode on Windows ([download](https://code.visualstudio.com/download))
- Install VSCode extension [Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)
- Start VSCode in WSL (_Continued from above command prompt in WSL_)
- `code .`

0 comments on commit 3088d19

Please sign in to comment.