Created
March 6, 2019 08:40
-
-
Save reinhart1010/c172f1d28ce2e251f79826a2ef6fb600 to your computer and use it in GitHub Desktop.
[Mirror] Fedora 29 post-install script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This post-install script is originated from the Fedora 29 Community Challenge by Jason Evangelho | |
# Bash script originally created by Tobias | |
# Please make sure that you run this in user mode (non-root), and make this file executable (chmod +x /path/to/install.sh) | |
# You can run this command with --nonfree or --steam to get no nonfree (proprietary) software or Valve's Steam client. | |
# For more information visit https://git.furworks.de/tobias/fedora-install | |
if [ $(id -u) = 0 ]; then | |
echo "This script changes your users gsettings and should thus not be run as root!" | |
echo "You may need to enter your password multiple times!" | |
exit 1 | |
fi | |
while test $# -gt 0 | |
do | |
case "$1" in | |
--nonfree) | |
echo "Nonfree Additions will be added" | |
NONFREE=true | |
;; | |
--steam) | |
echo "Adding Steam as flatpak to avoid fedora lib misaligment issues for games" | |
STEAMFLAT=true | |
;; | |
esac | |
shift | |
done | |
### | |
# Optionally clean all dnf temporary files | |
### | |
sudo dnf clean all | |
### | |
# RpmFusion Free Repo | |
# This is holding only open source, vetted applications - fedora just cant legally distribute them themselves thanks to | |
# Software patents | |
### | |
sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm | |
### | |
# RpmFusion NonFree Repo | |
# This includes Nvidia Drivers and more | |
### | |
if [ ! -z "$NONFREE" ]; then | |
sudo dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm | |
fi | |
### | |
# Disable the Modular Repos | |
# So far they are pretty empty, and sadly can muck with --best updates | |
# Likely reenabling them in a future update | |
### | |
sudo sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/fedora-updates-modular.repo | |
sudo sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/fedora-modular.repo | |
### | |
# Force update the whole system to the latest and greatest | |
### | |
sudo dnf upgrade --best --allowerasing --refresh -y | |
# And also remove any packages without a source backing them | |
sudo dnf distro-sync -y | |
### | |
# Install base packages and applications | |
### | |
sudo dnf install \ | |
-y \ | |
arc-theme `#A more comfortable GTK/Gnome-Shell Theme` \ | |
blender `#3D Software Powerhouse` \ | |
breeze-cursor-theme `#A more comfortable Cursor Theme from KDE` \ | |
calibre `#Ebook management` \ | |
chrome-gnome-shell `#Gnome <> Browser Integration for the plugins website` \ | |
chromium-vaapi `#Comes with hardware acceleration and all Codecs` \ | |
darktable `#East RAW Editor` \ | |
evolution-spamassassin `#Helps you deal with spam in Evolution` \ | |
exfat-utils `#Allows managing exfat` \ | |
ffmpeg `#Adds Codec Support to Firefox, and in general` \ | |
file-roller-nautilus `#More Archives supported in nautilus` \ | |
filezilla `#S/FTP Access` \ | |
fuse-exfat `#Allows mounting exfat` \ | |
fuse-sshfs `#Allows mounting servers via sshfs` \ | |
gimp `#The Image Editing Powerhouse - and its plugins` \ | |
gimp-data-extras \ | |
gimp-dbp \ | |
gimp-dds-plugin \ | |
gimp-elsamuko \ | |
gimp-focusblur-plugin \ | |
gimp-fourier-plugin \ | |
gimpfx-foundry.noarch \ | |
gimp-gap \ | |
gimp-high-pass-filter \ | |
gimp-layer-via-copy-cut \ | |
gimp-lensfun \ | |
gimp-lqr-plugin \ | |
gimp-luminosity-masks \ | |
gimp-paint-studio \ | |
gimp-resynthesizer \ | |
gimp-save-for-web \ | |
gimp-wavelet-decompose \ | |
gimp-wavelet-denoise-plugin \ | |
git `#VCS done right` \ | |
gmic-gimp \ | |
gnome-shell-extension-dash-to-dock `#dash for gnome` \ | |
gnome-shell-extension-topicons-plus `#Notification Icons for gnome` \ | |
gnome-shell-extension-user-theme `#Enables theming the gnome shell` \ | |
gnome-tweak-tool `#Your central place to make gnome like you want` \ | |
GREYCstoration-gimp \ | |
gtkhash-nautilus `#To get a file has via gui` \ | |
gvfs-fuse `#gnome<>fuse` \ | |
gvfs-mtp `#gnome<>android` \ | |
gvfs-nfs `#gnome<>ntfs` \ | |
gvfs-smb `#gnome<>samba` \ | |
htop `#Cli process monitor` \ | |
inkscape `#Working with .svg files` \ | |
kdenlive `#Advanced Video Editor` \ | |
keepassxc `#Password Manager` \ | |
krita `#Painting done right` \ | |
libreoffice-gallery-vrt-network-equipment `#Network Icon Preset for LibreOffice` \ | |
lm_sensors `#Show your systems Temparature` \ | |
'mozilla-fira-*' `#A nice font family` \ | |
mpv `#The best media player (with simple gui)` \ | |
mumble `#Talk with your friends` \ | |
nautilus-extensions `#What it says on the tin` \ | |
nautilus-image-converter \ | |
nautilus-search-tool \ | |
NetworkManager-openvpn-gnome `#To enforce that its possible to import .ovpn files in the settings` \ | |
openshot `#Simple Video Editor` \ | |
openssh-askpass `#Base Lib to let applications request ssh pass via gui` \ | |
p7zip `#Archives` \ | |
p7zip-plugins `#Even more of them` \ | |
pop-icon-theme `#The Icon theme from system76, which is quite nice` \ | |
pv `#pipe viewer - see what happens between the | with output | pv | receiver ` \ | |
python3-devel `#Python Development Gear` \ | |
python3-neovim `#Python Neovim Libs` \ | |
rawtherapee `#Professional RAW Editor` \ | |
spamassassin `#Dep to make sure it is locally installed for Evolution` \ | |
telegram-desktop `#Chatting, with newer openssl and qt base!` \ | |
tilix `#The best terminal manager i know of` \ | |
tilix-nautilus `#Adds right click open in tilix to nautilus` \ | |
transmission `#Torrent Client` \ | |
tuned `#Tuned can optimize your performance according to metrics. tuned-adm profile powersave can help you on laptops, alot` \ | |
unar `#free rar decompression` \ | |
vagrant `#Virtual Machine management and autodeployment` \ | |
vagrant-libvirt `#integration with libvirt` \ | |
virt-manager `#A gui to manage virtual machines` \ | |
wavemon `#a cli wifi status tool` \ | |
youtube-dl `#Allows you to download and save youtube videos but also to open their links by dragging them into mpv!` | |
### | |
# Developer Niceties | |
### | |
sudo dnf install \ | |
-y \ | |
ansible `#Awesome to manage multiple machines or define states for systems` \ | |
adobe-source-code-pro-fonts `#The most beautiful monospace font around` \ | |
borgbackup `#If you need backups, this is your tool for it` \ | |
gitg `#+a gui for it, a little slow on larger repos sadly` \ | |
iotop `#disk usage cli monitor` \ | |
meld `#Quick Diff Tool` \ | |
nano `#Because pressing i is too hard sometimes` \ | |
neovim `#the better vim` \ | |
nethogs `#Whats using all your traffic? Now you know!` \ | |
nload `#Network Load Monitor` \ | |
tig `#cli git tool` \ | |
vim-enhanced `#full vim` \ | |
zsh `#Best shell` \ | |
zsh-syntax-highlighting `#Now with syntax highlighting` | |
### | |
# These are more targeted to developers/advanced Users/specific usecases, you might want them - or not. | |
### | |
sudo dnf install \ | |
-y \ | |
cantata `#A beautiful mpd control` \ | |
caddy `#A quick webserver that can be used to share a directory with others in <10 seconds` \ | |
cockpit `#A An awesome local and remote management tool` \ | |
cockpit-bridge \ | |
flowblade `#An advanced Movie Editor using the MLT framework` \ | |
fortune-mod `#Inspiring Quotes` \ | |
hexchat `#Irc Client` \ | |
libguestfs-tools `#Resize Vm Images and convert them` \ | |
ncdu `#Directory listing CLI tool. For a gui version take a look at "baobab"` \ | |
nextcloud-client `#Nextcloud Integration for Fedora` \ | |
nextcloud-client-nautilus `#Also for the File Manager, shows you file status` \ | |
sqlite-analyzer `#If you work with sqlite databases` \ | |
sqlitebrowser `#These two help alot` \ | |
syncthing-gtk `#Syncing evolved - to use the local only mode open up the ports with firewall-cmd --add-port=port/tcp --permanent && firewall-cmd --reload` | |
### | |
# Remove some un-needed stuff | |
### | |
sudo dnf remove \ | |
-y \ | |
gnome-shell-extension-background-logo `#Tasteful but nah` \ | |
totem `#With mpv installed totem became a little useless` \ | |
chromium `#Using Chromium resets chromium-vaapi` | |
### | |
# Enable some of the goodies, but not all | |
# Its the users responsibility to choose and enable zsh, with oh-my-zsh for example | |
# or set a more specific tuned profile | |
### | |
sudo systemctl enable --now tuned | |
sudo tuned-adm profile balanced | |
#Performance: | |
#sudo tuned-adm profile desktop | |
#Virtual Machine Host: | |
#sudo tuned-adm profile virtual-host | |
#Virtual Machine Guest: | |
#sudo tuned-adm profile virtual-guest | |
#Battery Saving: | |
#sudo tuned-adm profile powersave | |
# Virtual Machines | |
sudo systemctl enable --now libvirtd | |
# Management of local/remote system(s) | |
sudo systemctl enable --now cockpit.socket | |
### | |
# Theming and GNOME Options | |
### | |
gsettings set com.gexperts.Tilix.Settings theme-variant 'dark' | |
gsettings set org.gnome.desktop.interface gtk-theme 'Arc-Dark' | |
gsettings set org.gnome.desktop.interface cursor-theme 'Breeze_Snow' | |
gsettings set org.gnome.desktop.interface icon-theme 'Pop' | |
gsettings set org.gnome.shell.extensions.user-theme name 'Arc-Dark-solid' | |
gsettings set org.gnome.desktop.interface monospace-font-name 'Source Code Pro Semi-Bold 12' | |
gsettings set org.gnome.shell enabled-extensions "['[email protected]', '[email protected]', '[email protected]']" | |
gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing 'rgba' | |
gsettings set org.gnome.desktop.peripherals.mouse accel-profile 'adaptive' | |
gsettings set org.gnome.desktop.sound allow-volume-above-100-percent true | |
gsettings set org.gnome.desktop.calendar show-weekdate true | |
gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true | |
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close' | |
gsettings set org.gnome.shell.overrides workspaces-only-on-primary false | |
gsettings set org.gnome.shell.extensions.dash-to-dock apply-custom-theme false | |
gsettings set org.gnome.shell.extensions.dash-to-dock custom-background-color false | |
gsettings set org.gnome.shell.extensions.dash-to-dock custom-theme-customize-running-dots true | |
gsettings set org.gnome.shell.extensions.dash-to-dock custom-theme-running-dots-color '#729fcf' | |
gsettings set org.gnome.shell.extensions.dash-to-dock custom-theme-shrink true | |
gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed false | |
gsettings set org.gnome.shell.extensions.dash-to-dock extend-height true | |
gsettings set org.gnome.shell.extensions.dash-to-dock force-straight-corner false | |
gsettings set org.gnome.shell.extensions.dash-to-dock icon-size-fixed true | |
gsettings set org.gnome.shell.extensions.dash-to-dock intellihide-mode 'ALL_WINDOWS' | |
gsettings set org.gnome.shell.extensions.dash-to-dock isolate-workspaces true | |
gsettings set org.gnome.shell.extensions.dash-to-dock show-apps-at-top true | |
gsettings set org.gnome.shell.extensions.dash-to-dock unity-backlit-items false | |
gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode 'FIXED' | |
gsettings set org.gnome.shell.extensions.dash-to-dock running-indicator-style 'SEGMENTED' | |
gsettings set org.gnome.shell.extensions.dash-to-dock background-opacity 0.70000000000000000 | |
gsettings set org.freedesktop.Tracker.Miner.Files index-on-battery false | |
gsettings set org.freedesktop.Tracker.Miner.Files index-on-battery-first-time false | |
gsettings set org.freedesktop.Tracker.Miner.Files throttle 15 | |
gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true | |
gsettings set org.gnome.nautilus.icon-view default-zoom-level 'standard' | |
gsettings set org.gnome.nautilus.preferences executable-text-activation 'ask' | |
gsettings set org.gtk.Settings.FileChooser sort-directories-first true | |
gsettings set org.gnome.nautilus.list-view use-tree-view true | |
if [ ! -z "$STEAMFLAT" ]; then | |
sudo dnf install -y flatpak | |
sudo flatpak -y remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
flatpak -y install flathub com.valvesoftware.Steam | |
# Installed but not displayed? Check with: flatpak run com.valvesoftware.Steam | |
fi | |
echo "Please Reboot" && exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment