-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
113 lines (101 loc) · 1.81 KB
/
Copy pathsetup.sh
File metadata and controls
113 lines (101 loc) · 1.81 KB
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
#!/usr/bin/env bash
set -o errexit
set -o nounset
ubuntu_packages=(
atool
bash
bash-completion
bat
bpytop
bzip2
ccrypt
clamav
cloc
cmake
colordiff
curl
fd-find
fdupes
ffmpeg
fzf
git
git-extras
git-gui
git-lfs
git-secret
gnupg
grep
gzip
htop
ioping
iotop
jq
keepassxc
less
lshw
make
makeself
mc
nano
ncdu
nmap
okular
openssl
pigz
pipenv
putty
python3
rsync
seahorse
shellcheck
silversearcher-ag
sqlite
ssh
sysstat
telegram-desktop
tig
tree
unrar
unzip
virtualbox
wget
xclip
xz-utils
)
python_packages=(
auditwheel
black
flake8
isort
mypy
pre-commit
pylint
twine
virtualenv
)
# Ask for the administrator's password in advance.
sudo --validate
# Keep-alive: update existing user's password timestamp until this script finishes on the current machine.
while true; do sudo --non-interactive true; sleep 60; kill -s 0 "$$" || exit; done 2> /dev/null &
# Step -- 1.
sudo apt-get --quiet update
# Step -- 2.
sudo apt-get --quiet upgrade --yes
# Step -- 3.
sudo apt-get --quiet install --yes -- "${ubuntu_packages[@]}"
sudo sh -c "$(curl https://raw.githubusercontent.com/vladpunko/detach-process/master/install.sh)"
# Step -- 4.
python3 -m pip install --user --upgrade pip setuptools wheel
python3 -m pip install --user --upgrade -- "${python_packages[@]}"
# Step -- 5.
cp dot_aliases.bash "${HOME}/.aliases.bash"
cp dot_bash_logout "${HOME}/.bash_logout"
cp dot_bash_profile "${HOME}/.bash_profile"
cp dot_bashrc "${HOME}/.bashrc"
cp dot_exports.bash "${HOME}/.exports.bash"
cp dot_functions.bash "${HOME}/.functions.bash"
cp dot_inputrc "${HOME}/.inputrc"
cp dot_gitconfig "${HOME}/.gitconfig"
cp dot_gitignore_global "${HOME}/.gitignore_global"
cp dot_flake8rc "${HOME}/.flake8"
cp dot_pylintrc "${HOME}/.pylintrc"