summaryrefslogtreecommitdiffstatshomepage
path: root/wsl.install
blob: 5dc894e1d3fe92fdbbece91057d987ce38029bd0 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env bash

DOTFILES="${DOTFILES:-${BASEDIR:-${HOME}/dotfiles}}"
cd $DOTFILES

# BUG Has issues with a return character?
# WINHOME="$(wslpath "$(powershell.exe -NoProfile -c \$HOME)")"
WINHOME=$(wslpath "c:\Users\\${USER}")

RESET='\033[0m'
RED='\033[91m'
GREEN='\033[92m'
YELLOW='\033[93m'
BLUE='\033[94m'
MAGENTA='\033[95m'

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

function show-warning() {
    gpgpath=$(wslpath -w "$(command -v gpg.exe)")
    gitgpg=$(git.exe config --system --get gpg.program)
    if [ "$gitgpg" = "$gpgpath" ]; then
        return
    fi
    echo
    echo -e "${BLUE}In order to use gpg with git for windows"
    echo -e "${BLUE}(and still share gitconfigs), you need to run"
    echo -e "${BLUE}the following command from an admin terminal:"
    echo
    echo "git.exe config --system gpg.program '$(wslpath -w "$(command -v gpg.exe)")'"
    echo
}

echo -e "${BLUE}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:4444|' \
    ${DOTFILES}/ssh/config | sed '/Control/d' >${DOTFILES}/ssh/win.config

# Create windows symlinks to dotfiles
$mkln $@ ssh/win.config ~/win/.ssh/config
$mkln $@ gitconfig ~/win/.gitconfig
$mkln $@ gnupg/gpg.conf ~/win/AppData/Roaming/gnupg/gpg.conf
$mkln $@ gnupg/gpg-agent.conf ~/win/AppData/Roaming/gnupg/gpg-agent.conf
$mkln $@ gnupg/scdaemon.conf ~/win/AppData/Roaming/gnupg/scdaemon.conf
$mkln $@ wt.json ~/win/AppData/Local/Packages/Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe/LocalState/settings.json
$mkln $@ winget.json ~/win/AppData/Local/Packages/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe/LocalState/settings.json

# Import gpg key
if gpg.exe --keyserver hkps://keys.openpgp.org --recv-key 0xC8F6E06F5C8E2634 &>/dev/null; then
    echo -e "${BLUE}gpg key imported"
else
    echo -e "${MAGENTA}Failed to import gpg key"
fi

# Import gpg trust
if gpg.exe --import-ownertrust $DOTFILES/gnupg/trustfile.txt; then
    echo -e "${BLUE}gpg trust imported"
else
    echo -e "${MAGENTA}Failed to import gpg trust"
fi

echo -e "${GREEN}WSL has been set up"