-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup-dev-fedora.sh
97 lines (77 loc) · 3.21 KB
/
setup-dev-fedora.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
#!/bin/bash
# Development environment setup on Fedora
fedora_release="$(rpm -E %fedora)"
# Remove old Docker versions
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# Install commands to manage DNF repositories from the command line
sudo dnf install dnf-plugins-core
# Add Docker repo
# https://docs.docker.com/install/linux/docker-ce/fedora/#set-up-the-repository
# https://github.com/docker/for-linux/issues/430
sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
# Install packages
sudo dnf install ansible elfutils-libelf-devel chromium curl docker-ce flameshot fuse-sshfs \
git gnome-tweaks httpd kernel-devel openldap-clients \
the_silver_searcher util-linux-user vim xdotool zsh zsh-syntax-highlighting \
openssl-devel ruby
# RPM Fusion
# https://rpmfusion.org/Configuration
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$fedora_release.noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$fedora_release.noarch.rpm
# Enable codecs
# https://srvfail.com/how-to-enable-h264-codec-on-fedora-28/
sudo dnf install -y compat-ffmpeg28 ffmpeg-libs
# Install Docker Compose
# https://docs.docker.com/compose/install/#install-compose
pip install --user --upgrade docker-compose
# Add user to docker group
sudo usermod -aG docker $(whoami)
# Install Slack from Flathub
# https://flathub.org/apps/details/com.slack.Slack
flatpak install flathub com.slack.Slack
# fzf
# https://github.com/junegunn/fzf#using-git
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
# oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
# Atom
printf "\nDownloading and installing Atom...\n"
atom_link=$(curl -s https://api.github.com/repos/atom/atom/releases/latest | grep "browser_download_url.*rpm" | cut -d '"' -f 4)
wget --directory-prefix="$HOME/Downloads" --timestamping "$atom_link"
sudo dnf install ~/Downloads/atom.x86_64.rpm
# Postgres
sudo dnf install postgresql-server postgresql-contrib postgresql-devel
sudo systemctl enable postgresql
sudo postgresql-setup --initdb --unit postgresql
sudo systemctl start postgresql
# RVM
# https://rvm.io/
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s master
# VirtualBox
printf "\nDownloading and installing VirtualBox...\n"
vb_link=$(curl -s https://www.virtualbox.org/wiki/Linux_Downloads | grep -o "https://download.*fedora29.*\.rpm")
wget --directory-prefix="$HOME/Downloads" --timestamping "$vb_link"
vb_file=$(ls -1t ~/Downloads/*VirtualBox*.rpm | head -n 1)
sudo dnf install $vb_file
# Yarn
# https://yarnpkg.com/en/docs/install#centos-stable
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo dnf install yarn
# Zoom
# https://zoom.us/download#client_4meeting
sudo dnf install https://zoom.us/client/latest/zoom_x86_64.rpm
printf "\nDone! :)\n"