Skip to content

Instantly share code, notes, and snippets.

@azmelanar
Last active May 9, 2021 19:27
Show Gist options
  • Save azmelanar/e8f75c742ac0e66669a3 to your computer and use it in GitHub Desktop.
Save azmelanar/e8f75c742ac0e66669a3 to your computer and use it in GitHub Desktop.
Fedora Kickstart
#!/usr/bin/env bash
# GENERAL
## Configurate Swap
echo -e "\n
# Configurate swap
vm.swappiness = 10
vm.vfs_cache_pressure = 50" >> /usr/lib/sysctl.d/00-system.conf
## Disable SELinux
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
# REPOSITORIES
## RPMFusion (http://rpmfusion.org/Configuration/)
dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# PACKAGES
## kernel
dnf -y install kernel-devel kernel-headers
## libs
#yum -y install libbsd-devel libbsd glibc-devel libX11-devel glib2 glib2-devel gtk2-devel gtk3-devel glibc-devel djvulibre-libs cryptopp
## libs i686
#yum -y install xulrunner.i686 alsa-lib.i686 fontconfig.i686 freetype.i686 glib2.i686 libSM.i686 libXScrnSaver.i686 libXi.i686 libXrandr.i686 libXrender.i686 libXv.i686 libstdc++.i686 pulseaudio-libs.i686 qt.i686 qt-x11.i686 zlib.i686 qtwebkit.i686
## system
#dnf -y install prelink preload dkms automake autoconf
dnf -y install util-linux-user sysfsutils
# laptop
dnf -y install powertop tlp
## libs
! dnf -y install ffmpeg-libs
dnf -y group install "Development tools"
#dnf -y install libffi-devel gcc-c++ readline-devel libtool bison ctags-etags
dnf -y install ctags openssl-devel sqlite-devel libyaml-devel
# shellcheck
## core
dnf -y install zsh tar zip unzip tree zstd curl wget git vim jq expect parallel mosh
chsh -s /bin/zsh
## network
dnf -y install telnet nmap whois traceroute mtr wireguard-tools
## console
dnf -y install pwgen tmux neovim ripgrep bat pandoc graphviz borgbackup restic mc mpv xclip
dnf -y install neofetch keychain htop ncdu ShellCheck fzf
# aspell fd fzf rig the_silver_searcher youtube-dl
# ansible tfenv terraform kubernetes-cli kubernetes-helm kubectx
## fonts
# dnf -y install google-roboto-fonts google-croscore-{arimo,cousine,tinos}-fonts
## language packs
dnf -y install hunspell-en-US hunspell-de hunspell-pl hunspell-ru hunspell-uk
dnf -y install libreoffice-langpack-en libreoffice-langpack-de libreoffice-langpack-pl libreoffice-langpack-ru libreoffice-langpack-uk
## software
dnf -y install nextcloud-client emacs chromium flameshot wireshark thunderbird
dnf copr enable atim/lazygit -y
dnf install lazygit
## python
dnf -y install python3-devel python3-autopep8 python3-flake8 python3-virtualenv pipenv python3-pyyaml python3-kaptan
# pyenv
## nodejs
! dnf -y install nodejs yarnpkg
## golang
dnf -y install golang
## Visual Studio Code
# https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions
## KVM
#dnf -y install kvm virt-manager libvirt libvirt-python virt-viewer spice-gtk3 gnome-boxes
## ! docker
dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
dnf -y install docker-ce
systemctl start docker
systemctl enable docker
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
## podman
dnf -y install podman-compose
## tfenv
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
## kubernetes
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
dnf -y install kubectl
(
set -x; cd "$(mktemp -d)" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.{tar.gz,yaml}" &&
tar zxvf krew.tar.gz &&
KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_amd64" &&
"$KREW" install --manifest=krew.yaml --archive=krew.tar.gz &&
"$KREW" update
)
kubectl krew install ctx
kubectl krew install ns
kubectl krew install konfig
# upgrade: kubectl krew upgrade
## Google Cloud SDK
cat <<EOF > /etc/yum.repos.d/google-cloud-sdk.repo
[google-cloud-sdk]
name=Google Cloud SDK
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
dnf -y install google-cloud-sdk
## LaTeX
#dnf -y groups install "Authoring and Publishing"
#dnf -y install texstudio vim-latex texlive-collection-langcyrillic texlive-t2 texlive-cm-super texlive-textgreek texlive-langcode
## dictionary
! dnf -y install stardict stardict-dic-en stardict-dic-ru
## gnome
dnf -y install gnome-tweaks libappindicator-gtk3
# https://extensions.gnome.org/extension/615/appindicator-support/
# https://extensions.gnome.org/extension/1160/dash-to-panel/
# https://extensions.gnome.org/extension/3628/arcmenu/
# https://extensions.gnome.org/extension/906/sound-output-device-chooser/
## docker
#curl -sSL https://get.docker.com/ | sh
# BUMBLEBEE (https://fedoraproject.org/wiki/Bumblebee)
## Bumblebee
yum -y --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora20/noarch/bumblebee-release-1.1-1.noarch.rpm http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora20/noarch/bumblebee-nonfree-release-1.1-1.noarch.rpm
## libs
yum -y install VirtualGL
## libs i686
yum -y install VirtualGL.i686
## bumblebee for proprietary nvidia
yum -y install bbswitch bumblebee
### Alternative variant for bumblebee
# DRI_PRIME=1 glxgears -info
#### EXTERNAL PACKAGES ####
## Firefox
# ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
## Thunderbird
# ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/
## Java
# http://www.java.com/en/download/manual.jsp
## VirtualBox
# https://www.virtualbox.org/wiki/Linux_Downloads
#### APPLICATIONS ####
## Java
mkdir -p /usr/java
mv jre-7u51-linux-x64.tar.gz /usr/java
cd /usr/java
tar xzf jre-7u51-linux-x64.tar.gz
ln -s /usr/java/jre1.7.0_51/lib/amd64/libnpjp2.so /usr/lib64/mozilla/plugins/
# OTHER
## Change gnome 3 theme
# vim /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml
# find <frame_geometry name="max" and behind them write
# has_title="false"
# all border and padding change to 0
## Open web link in new tab in Firefox
# /home/<user>/.local/share/applications/alacarte-made.desktop
# find and change to
# Exec=/opt/firefox/firefox %U
exit 0
#!/usr/bin/env bash
# Repositories
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Applications
# flatpak install -y flathub org.keepassxc.KeePassXC
# flatpak install -y flathub org.nextcloud.Nextcloud
# bugs: https://github.com/flathub/org.nextcloud.Nextcloud/issues/17
flatpak install -y flathub org.telegram.desktop
# flatpak install -y flathub com.slack.Slack
flatpak install -y flathub com.discordapp.Discord
# flatpak install -y flathub org.mozilla.Thunderbird
flatpak install -y flathub org.gnome.Evolution
flatpak install -y flathub org.gnome.Geary
flatpak install -y flathub org.remmina.Remmina
flatpak install -y flathub org.kde.krita
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment