aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/wsl.install
blob: 0d4b2f5bb7c0c65cf4bc8b1de83b659b046bace0 (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
#!/usr/bin/env bash

DOTFILES="$(dirname "$(readlink -fm "$0")")"
force=1

mkln() {
    dirname="$(dirname $2)"
    filename="$(basename $2)"
    source=$(wslpath -w $DOTFILES/$1)
    target=$(wslpath -w $dirname)\\$filename
    cmd="cd ~; cmd /c mklink $target $source"

    if ls -la $dirname/ 2>/dev/null | grep -q $filename; then
        if [ $force = 1 ]; then
            cmd="cd ~; rm $target; cmd /c mklink $target $source"
        else
            echo "$filename already exists. Use -f to overwrite."
            return
        fi
    fi
    powershell.exe -c "$cmd" &>/dev/null
    echo "linked $2 --> $1"
}

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

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