aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/wsl/install.sh
blob: b60fbff4722d4b933568b8e9b4d81d14a12bf86d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env bash

DOTFILES="${HOME}/.dotfiles"

WINHOME="$(wslpath c:\\Users\\"${USER}")"

mkln="${DOTFILES}/scripts/.scripts/mkln.sh -f"

echo "Setting up WSL"

# link WINHOME
ln -sfn "$WINHOME" ~/win

# ssh-config
sed -r 's|(RemoteForward\s+.+\s+)\/home\/tobyv\/\.gnupg\/S\.gpg-agent\.extra|\1127.0.0.1:4321|' "${DOTFILES}"/ssh/.ssh/config |
sed '/Control/d' >"${WINHOME}/.ssh/config"

# Create windows symlinks to dotfiles
$mkln "$@" "${DOTFILES}"/git/.gitconfig "${WINHOME}"/.gitconfig
$mkln "$@" "${DOTFILES}"/gnupg/.gnupg/gpg.conf "${WINHOME}"/AppData/Roaming/gnupg/gpg.conf
$mkln "$@" "${DOTFILES}"/gnupg/.gnupg/gpg-agent.conf "${WINHOME}"/AppData/Roaming/gnupg/gpg-agent.conf
$mkln "$@" "${DOTFILES}"/gnupg/.gnupg/scdaemon.conf "${WINHOME}"/AppData/Roaming/gnupg/scdaemon.conf
$mkln "$@" "${DOTFILES}"/alacritty/.config/alacritty "${WINHOME}"/AppData/Roaming/alacritty
$mkln "$@" "${DOTFILES}"/wsl/install/wt.json "${WINHOME}"/AppData/Local/Packages/Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe/LocalState/settings.json
$mkln "$@" "${DOTFILES}"/wsl/install/winget.json "${WINHOME}"/AppData/Local/Packages/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe/LocalState/settings.json

# install xclip/xsel
curl -sL "https://raw.githubusercontent.com/Konfekt/win-bash-xclip-xsel/master/clip.sh" >"${HOME}/.local/bin/xclip"
curl -sL "https://raw.githubusercontent.com/Konfekt/win-bash-xclip-xsel/master/clip.sh" >"${HOME}/.local/bin/xsel"
chmod +x "${HOME}/.local/bin/xclip"
chmod +x "${HOME}/.local/bin/xsel"

# install hotkeys.exe
install_dir="${WINHOME}/AppData/Local/Programs/hotkeys"
mkdir -p "${install_dir}"
rm -f "${install_dir}/hotkeys.exe"
curl -sL "https://github.com/tobyvin/hotkeys/releases/latest/download/hotkeys.exe" >"${install_dir}/hotkeys.exe"

# https://github.com/wslutilities/wslu
command -v wslview &>/dev/null || cat <<-EOF
    wslu is not installed.
    wslu (wslview) is needed to open browser windows from linux commands.
    install instructions: https://github.com/wslutilities/wslu#installation
EOF

echo "WSL has been set up"