Skip to content

Instantly share code, notes, and snippets.

@riipandi
Last active November 30, 2017 08:56
Show Gist options
  • Save riipandi/33d8ea1d5f76ae118da9bcb68c9ae6d7 to your computer and use it in GitHub Desktop.
Save riipandi/33d8ea1d5f76ae118da9bcb68c9ae6d7 to your computer and use it in GitHub Desktop.
#!/bin/bash
echo -e '\nInstalling dependencies...' && dnf install -y nano axel crudini
echo -e '\nConfiguring DNF fastest mirror...'
crudini --set /etc/dnf/dnf.conf 'main' 'installonly_limit' '1'
crudini --set /etc/dnf/dnf.conf 'main' 'fastestmirror' 'False'
echo -e 'Creating repos...' && rm -f /etc/yum.repos.d/*repo*
cat > /etc/yum.repos.d/fedora.repo <<EOF
[fedora]
name=Fedora Main
metalink=http://mirrors.fedoraproject.org/metalink?repo=fedora-$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$(rpm -E %fedora)-$(uname -p)
gpgcheck=1
enabled=1
[updates]
name=Fedora Updates
metalink=http://mirrors.fedoraproject.org/metalink?repo=updates-released-f$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$(rpm -E %fedora)-$(uname -p)
gpgcheck=1
enabled=1
[updates-testing]
name=Fedora Updates Testing
metalink=http://mirrors.fedoraproject.org/metalink?repo=updates-testing-f$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$(rpm -E %fedora)-$(uname -p)
gpgcheck=1
enabled=1
EOF
if [ ! -f "/etc/yum.repos.d/rpmfusion.repo" ]; then
rpm --import "http://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora)"
rpm --import "http://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-$(rpm -E %fedora)"
rm -f /etc/yum.repos.d/rpmfusion-*repo
cat > /etc/yum.repos.d/rpmfusion.repo <<EOF
[rpmfusion-free]
name=RPM Fusion Free
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora)
gpgcheck=1
enabled=1
[rpmfusion-free-updates]
name=RPM Fusion Free Updates
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$(rpm -E %fedora)
gpgcheck=1
enabled=1
[rpmfusion-nonfree]
name=RPM Fusion Nonfree
metalink=http://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$(rpm -E %fedora)
gpgcheck=1
enabled=1
[rpmfusion-nonfree-updates]
name=RPM Fusion Nonfree Updates
metalink=http://mirrors.rpmfusion.org/metalink?repo=nonfree-fedora-updates-released-$(rpm -E %fedora)&arch=$(uname -p)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-$(rpm -E %fedora)
gpgcheck=1
enabled=1
EOF
else
dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
fi
cat > /etc/yum.repos.d/sublimetext.repo <<EOF
[sublime-text]
name=Sublime Text Stable
baseurl=http://download.sublimetext.com/rpm/stable/$(uname -p)
gpgkey=http://download.sublimetext.com/sublimehq-rpm-pub.gpg
gpgcheck=1
enabled=1
EOF
rpm --import "http://negativo17.org/repos/RPM-GPG-KEY-slaanesh"
cat > /etc/yum.repos.d/spotify.repo <<EOF
[spotify]
name=Spotify Client
baseurl=http://negativo17.org/repos/spotify/fedora-$(rpm -E %fedora)/$(uname -p)/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-slaanesh
gpgcheck=1
enabled=1
EOF
#-----------------------------------------------------------------------------------------
# Unused Repository Lists
#-----------------------------------------------------------------------------------------
: <<'long_comment'
cat > /etc/yum.repos.d/dotnetcore.repo <<EOF
[dotnet-core]
name=dotNet Core
baseurl=https://copr-be.cloud.fedoraproject.org/results/@dotnet-sig/dotnet/fedora-$(rpm -E %fedora)-$(uname -p)/
gpgkey=https://copr-be.cloud.fedoraproject.org/results/@dotnet-sig/dotnet/pubkey.gpg
gpgcheck=1
enabled=1
EOF
#rpm --import https://rpm.opera.com/rpmrepo.key
cat > /etc/yum.repos.d/opera.repo <<EOF
[opera-browser]
name=Opera Browser Stable
baseurl=https://rpm.opera.com/rpm
gpgkey=https://rpm.opera.com/rpmrepo.key
gpgcheck=1
enabled=1
EOF
# dnf check-update; dnf install code
cat > /etc/yum.repos.d/vscode.repo <<EOF
[code]
name=Visual Studio Code
baseurl=https://packages.microsoft.com/yumrepos/vscode
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
enabled=1
gpgcheck=1
EOF
# dnf copr enable -y riespandi/fed26
cat > /etc/yum.repos.d/riespandi.repo <<EOF
[riespandi-fed$(rpm -E %fedora)]
name=Copr Fedora by riespandi
baseurl=http://copr-be.cloud.fedoraproject.org/results/riespandi/fed$(rpm -E %fedora)/fedora-$(rpm -E %fedora)-$(uname -p)/
gpgkey=http://copr-be.cloud.fedoraproject.org/results/riespandi/fed$(rpm -E %fedora)/pubkey.gpg
gpgcheck=1
enabled=1
EOF
cat > /etc/yum.repos.d/virtualbox.repo <<EOF
[virtualbox]
name=Oracle VirtualBox Fedora $(rpm -E %fedora)
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/$(rpm -E %fedora)/$(uname -p)
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
gpgcheck=1
enabled=1
EOF
cat > /etc/yum.repos.d/adobe.repo <<EOF
[adobe]
name=Adobe Systems Incorporated
baseurl=http://linuxdownload.adobe.com/linux/$(uname -p)/
gpgkey=http://pgp.mit.edu/pks/lookup?op=get&search=0x3A69BD24F6777C67&options=mr
gpgcheck=1
enabled=0
EOF
cat > /etc/yum.repos.d/brave.repo <<EOF
[brave-browser]
name=Brave Browser
baseurl=http://s3-us-west-2.amazonaws.com/brave-rpm-release/$(uname -p)/
gpgkey=http://s3-us-west-2.amazonaws.com/brave-rpm-release/keys.asc
gpgcheck=1
enabled=0
EOF
long_comment
#-----------------------------------------------------------------------------------------
# Asking for update system
#-----------------------------------------------------------------------------------------
#while true; do
# read -p "Do you wish to update and upgrade your system ? [y/N] " yn
# case $yn in
# [Yy]* ) echo -e '\nCleaning and upgrading packages...\n' && dnf clean all && dnf update -y && dnf upgrade -y; break;;
# [Nn]* ) break;;
# * ) echo -e "\nPlease answer yes or no.\n";;
# esac
#done
echo -e '\nList available repositories:'
ls /etc/yum.repos.d/ | grep repo
echo -e '\nAll done, enjoy.\n'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment