-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdebian-packages.sh
executable file
·149 lines (131 loc) · 3.42 KB
/
debian-packages.sh
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#!/usr/bin/env bash
core_pkgs() {
pkgs=(
build-essential
clangd
cmake
curl
dconf-editor
fd-find # fd
ffmpeg
fonts-noto-color-emoji
gimp
gimp-help-en
git
git-doc
gridsite-clients # urlencode
htop
inotify-tools # required by elixir
jq
kazam
libvterm-dev
mpv
neofetch
net-tools
nmap
npm
pandoc
pkg-config
postgresql
python3
python3-pip
qbittorrent
ripgrep
rlwrap
shellcheck
subversion
tmux-plugin-manager
tree
virt-manager
wireguard-tools
wireshark-doc
wireshark-qt
xclip
yamllint
zsh
zsh-autosuggestions
zsh-doc
zsh-syntax-highlighting
)
sudo apt install -f "${pkgs[@]}"
sudo apt purge yt-dlp
}
gnome_pkgs() {
pkgs=(
gnome-tweaks
gnome-shell-extension-gpaste
gnome-shell-extensions
)
sudo apt install -f "${pkgs[@]}"
}
mint_pkgs() {
pkgs=(
parcellite
)
sudo apt install -f "${pkgs[@]}"
}
# Make qt application look the same as gtk apps.
qt_look_and_feel_pkgs() {
pkgs=(
libcanberra-gtk-module
qt5ct
qt5-gtk2-platformtheme
qt5-gtk-platformtheme
qt5-style-plugins
)
sudo apt install -f "${pkgs[@]}"
}
custom_pkgs() {
script_name="$(readlink -f "${BASH_SOURCE[0]}")"
script_dir="$(dirname "$script_name")"
for receipt in "$script_dir/debian/packages/"*PKGCONFIG; do
bash "$receipt"
done
}
node_pkgs() {
sudo npm install -g npm n yarn vscode-css-languageserver-bin typescript-language-server typescript pyright eslint prettier
}
node_pkgs_cleanup() {
sudo apt purge npm -yy
sudo apt autoremove -yy
}
go_pkgs() {
/usr/local/go/bin/go install github.com/go-delve/delve/cmd/dlv@latest
/usr/local/go/bin/go install github.com/gokcehan/lf@latest
/usr/local/go/bin/go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
/usr/local/go/bin/go install github.com/jesseduffield/lazygit@latest
/usr/local/go/bin/go install github.com/segmentio/golines@latest
/usr/local/go/bin/go install golang.org/x/tools/cmd/goimports@latest
/usr/local/go/bin/go install golang.org/x/tools/gopls@latest
/usr/local/go/bin/go install mvdan.cc/gofumpt@latest
/usr/local/go/bin/go install github.com/illia-danko/fdir@latest
}
rust_pkgs() {
cargo install stylua
}
python_pkgs() {
sudo pip3 install yt-dlp
}
misc_pkgs() {
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
}
work_pkgs() {
sudo npm install -g @devcontainers/cli
/usr/local/go/bin/go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest # grpc cli client
}
core_pkgs
# custom_pkgs
# gnome_pkgs
# mint_pkgs
# qt_look_and_feel_pkgs # run qt5ct to configure gtk2 theme
node_pkgs
node_pkgs_cleanup
go_pkgs
rust_pkgs
python_pkgs
# misc_pkgs
work_pkgs