blob: fb6305ca4b5557fc8567982c1cab12e9fee86fb2 (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# set positional-arguments := true
EMAIL := 'tobyv13@gmail.com'
ZSH_COMP_DIR := join(env_var('HOME'), '/.local/share/zsh/site-functions')
BASH_COMP_DIR := join(env_var('HOME'), '/.local/share/bash-completion/completions')
stow:
stow --target={{ env_var('HOME') }} */
unstow:
stow --target={{ env_var('HOME') }} --delete */
install +TARGETS:
for target in {{TARGETS}}; do just $target; done
rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path
rustup completions bash >{{ BASH_COMP_DIR }}/completions/rustup;
rustup completions zsh >{{ ZSH_COMP_DIR }}/_rustup;
rustup completions bash cargo >{{ BASH_COMP_DIR }}/completions/cargo;
rustup completions zsh cargo >{{ ZSH_COMP_DIR }}/_cargo)
cargo:
command -v cargo || just rustup
command -v cargo-quickinstall || cargo install cargo-quickinstall
starship: cargo
cargo quickinstall starship --locked
starship completions bash >{{ BASH_COMP_DIR }}/completions/starship;
starship completions zsh >{{ ZSH_COMP_DIR }}/_starship
# Install manually with cargo see https://github.com/sharkdp/bat/issues/2106
bat:
cargo quickinstall bat --target {{ arch() }}-unknown-{{ os() }}-mus
curl -sL https://raw.githubusercontent.com/sharkdp/bat/master/assets/completions/bat.bash.in >{{ BASH_COMP_DIR }}/completions/bat
curl -sL https://raw.githubusercontent.com/sharkdp/bat/master/assets/completions/bat.zsh.in >{{ ZSH_COMP_DIR }}/_bat
fd:
cargo quickinstall fd-find
curl -sL https://raw.githubusercontent.com/sharkdp/fd/master/contrib/completion/_fd >{{ ZSH_COMP_DIR }}/_fd
ripgrep:
cargo install ripgrep
curl -sL https://raw.githubusercontent.com/BurntSushi/ripgrep/master/complete/_rg >{{ ZSH_COMP_DIR }}/_rg
chtsh:
curl https://cht.sh/:cht.sh >~/.local/bin/cht.sh
chmod +x ~/.local/bin/cht.sh
curl https://cht.sh/:bash_completion >{{ BASH_COMP_DIR }}/completions/cht
curl https://cheat.sh/:zsh >{{ ZSH_COMP_DIR }}/_cht
git-open:
curl -sL "https://raw.githubusercontent.com/paulirish/git-open/master/git-open" >~/.local/bin/git-open &&
chmod +x ~/.local/bin/git-open;
gh:
#!/usr/bin/env bash
set -euxo pipefail
td=$(mktemp -d)
arch="$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/ | sed s/armv7l/armv6/)"
tag="$(curl -sI https://github.com/cli/cli/releases/latest | grep -Po 'tag\/v?\K(\S+)')"
name="gh_${tag}_linux_${arch}"
url="https://github.com/cli/cli/releases/latest/download/${name}.tar.gz"
curl -sL $url | tar -C $td -xz
test -x $td/$name/bin/gh
install -Dm 755 $td/$name/bin/gh ~/.local/bin/gh
rm -rf $td
gh completion --shell bash >{{ BASH_COMP_DIR }}/gh
gh completion --shell zsh >{{ ZSH_COMP_DIR }}/_gh
fzf:
#!/usr/bin/env sh
set -euxo pipefail
td=$(mktemp -d)
tag="$(curl -sI https://github.com/junegunn/fzf/releases/latest | grep -Po 'tag\/v?\K(\S+)')"
alt_arch="$(echo {{arch()}} | sed s/aarch64/arm64/ | sed s/x86_64/amd64/ | sed s/armv7l/armv7/)"
name="fzf-${tag}-{{ os() }}_${alt_arch}"
url="https://github.com/junegunn/fzf/releases/latest/download/${name}.tar.gz"
curl -sL $url | tar -C $td -xz
test -x $td/fzf
rm -f ~/.local/bin/fzf
install -Dm 755 $td/fzf ~/.local/bin/fzf
rm -rf $td
curl -sL https://raw.githubusercontent.com/junegunn/fzf/master/shell/completion.bash >{{ BASH_COMP_DIR }}/completions/fzf
curl -sL https://raw.githubusercontent.com/junegunn/fzf/master/shell/completion.zsh >{{ ZSH_COMP_DIR }}/_fzf
curl -sL https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.bash >~/.bash/fzf-key-bindings.sh
curl -sL https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.zsh >~/.zsh/fzf-key-bindings.zsh
gpg:
gpg --auto-key-locate keyserver --locate-keys {{ EMAIL }}
gpg --import-ownertrust {{ join(env_var('HOME'), '.gnupg/trustfile.txt') }}
|