-
Notifications
You must be signed in to change notification settings - Fork 2
/
dnf-install.sh
executable file
·69 lines (59 loc) · 2.85 KB
/
dnf-install.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
#!/usr/bin/env bash
set -euxo pipefail
# https://cloud.google.com/sdk/docs/install#rpm
[ -s /etc/yum.repos.d/google-cloud-sdk.repo ] || sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
[google-cloud-sdk]
name=Google Cloud CLI
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el8-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM
sudo dnf install -y \
glibc-langpack-en glibc-all-langpacks \
rpl psmisc procps-ng \
bash-completion \
dnf-automatic dnf-plugins-core \
golang git htop \
java-21-openjdk-devel java-21-openjdk-src java-21-openjdk-javadoc java-21-openjdk-javadoc-zip java-21-openjdk-jmods \
trash-cli ShellCheck tmux wipe wl-clipboard \
fish autojump-fish autojump fd-find bat \
automake autoconf texinfo gettext-devel ncurses-devel \
pwgen diceware \
graphviz \
helm google-cloud-sdk google-cloud-sdk-skaffold \
python3-devel portaudio-devel \
git-delta rclone \
gcc gcc-c++ clang-tools-extra \
nodejs xrandr \
ruby-devel rubygems \
openssl-devel \
dracut-config-rescue \
pandoc pipx rubygem-mustache
# clang-tools-extra for clang-format, gcc-c++ is used by Bazel Protobuf
# xrandr is required by Minecraft client to fix ArrayIndexOutOfBoundsException at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes()
# openssl-devel is used (only, so far) by https://github.com/swsnr/mdcat
# rubygem-mustache Mustache v1.1.1 is *NEWER* than https://github.com/mustache/mustache/releases, but latest from https://github.com/mustache/mustache/tags
# dracut-config-rescue as per https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/#sect-update-rescue-kernel
# https://github.com/pypa/pipx?tab=readme-ov-file#shell-completions
register-python-argcomplete --shell fish pipx >~/.config/fish/completions/pipx.fish
# Do NOT add the "kubernetes-client" package above, but it causes this error:
# file /usr/bin/kubectl conflicts between attempted installs of kubernetes-client-1.21.0-2.fc35.x86_64 and kubectl-1.23.0-0.x86_64
# (at least when run as part of ./container/build.sh which is FROM fedora:35 in container/fedora-updated/Dockerfile)
# https://github.com/cli/cli/blob/trunk/docs/install_linux.md#fedora-centos-red-hat-enterprise-linux-dnf
sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install -y gh
# Also in setup.sh
if [ $(ps --no-headers -o comm 1) = "systemd" ]; then
sudo systemctl enable --now dnf-automatic-install.timer
systemctl status dnf-automatic-install.timer
else
echo "Not enabling dnf-automatic-install.timer, because no systemd"
fi
sudo dnf update -y
sudo dnf remove -y "libreoffice*"
# sudo alternatives --config java
# sudo alternatives --config javac
# sudo alternatives --config java_sdk_openjdk