Added bootstrap script for fedora
This commit is contained in:
151
init/fedora.sh
Executable file
151
init/fedora.sh
Executable file
@@ -0,0 +1,151 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Hostname that should be set
|
||||
HOST="martha"
|
||||
|
||||
# dnf packages that should be installed
|
||||
FEDORA_PKG="zsh rsync tmux mosh htop hugo gnome-tweaks firefox thunderbird elementary-planner codium newsflash calibre adobe-source-code-pro-fonts fira-code-fonts zeal sequeler gitg deja-dup deja-dup-nautilus vim-enhanced marker ImageMagick nodejs npm util-linux-user nextcloud-client nextcloud-client-nautilus gnome-extensions-app papirus-icon-theme libreoffice-icon-theme-papirus vlc libappindicator libappindicator-gtk3 broadcom-wl portfolio-performance"
|
||||
|
||||
FEDORA_FLAT="com.spotify.client girens noson"
|
||||
|
||||
FEDORA_PIP="gnome-extensions-cli"
|
||||
|
||||
FEDORA_COPR="lray/PortfolioPerformance"
|
||||
|
||||
GNOME_SHELL_EXTENSIONS="appindicatorsupport@rgcjonas.gmail.com auto-move-windows@gnome-shell-extensions.gcampax.github.com blyr@yozoon.dev.gmail.com caffeine@patapon.info dash-to-dock@micxgx.gmail.com Hide_Activities@shay.shayel.org Move_Clock@rmy.pobox.com native-window-placement@gnome-shell-extensions.gcampax.github.com netspeed@hedayaty.gmail.com nightthemeswitcher@romainvigier.fr panel-osd@berend.de.schouwer.gmail.com remove-dropdown-arrows@mpdeimos.com status-area-horizontal-spacing@mathematical.coffee.gmail.com steal-my-focus@kagesenshi.org user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
|
||||
# NPM packes that should be installed
|
||||
NPM_PKG="nativefier typescript"
|
||||
|
||||
# Which App to use at default etxt editor (instead of gEdit)
|
||||
DEFAULT_EDITOR="codium.desktop"
|
||||
DEFAULT_EDITOR_FILETYPES="public.plain-text public.unix-executable public.data .zsh)"
|
||||
|
||||
## Get username
|
||||
USER=`whoami`
|
||||
|
||||
## Ask for the administrator password upfront
|
||||
sudo -v
|
||||
|
||||
## Set hostname
|
||||
echo ">>> Setting hostname"
|
||||
sudo hostnamectl set-hostname ${HOST}
|
||||
|
||||
echo ">>> Adding repos"
|
||||
## Add RPM Fusion repos
|
||||
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
|
||||
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
||||
|
||||
## Add VSCodium repo
|
||||
sudo rpm --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
|
||||
printf "[gitlab.com_paulcarroty_vscodium_repo]\nname=gitlab.com_paulcarroty_vscodium_repo\nbaseurl=https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/rpms/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg" |sudo tee -a /etc/yum.repos.d/vscodium.repo
|
||||
|
||||
## Add copr repos
|
||||
echo ">>> Adding copr repos"
|
||||
if [ ! -z "${FEDORA_COPR}" ]; then
|
||||
for copr in ${FEDORA_COPR}; do
|
||||
sudo dnf copr enable ${copr} -y
|
||||
done
|
||||
fi
|
||||
|
||||
## Add flatpak repos
|
||||
echo ">>> Adding flatpak repos"
|
||||
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
## Update repos
|
||||
echo ">>> Updating repos"
|
||||
sudo dnf upgrade -y
|
||||
|
||||
## Update installed flatpaks
|
||||
echo ">>> Updating flatpaks"
|
||||
flatpak update
|
||||
|
||||
## Install packages
|
||||
if [ ! -z "${FEDORA_PKG}" ]; then
|
||||
echo ">>> Installing packages"
|
||||
sudo dnf install ${FEDORA_PKG} -y
|
||||
fi
|
||||
|
||||
## Install flatpaks
|
||||
if [ ! -z "${FEDORA_FLAT}" ]; then
|
||||
echo ">>> Installing flatpaks"
|
||||
flatpak install ${FEDORA_FLAT} -y
|
||||
fi
|
||||
|
||||
## Install npm packages
|
||||
if [ ! -z "${NPM_PKG}" ]; then
|
||||
|
||||
echo ">>> Setting up npm"
|
||||
mkdir "${HOME}/.npm-packages"
|
||||
npm config set prefix "${HOME}/.npm-packages"
|
||||
|
||||
echo ">>> Installing NPM packages"
|
||||
npm install -g ${NPM_PKG}
|
||||
PATH="${PATH}:${HOME}/.npm-packages/bin"
|
||||
fi
|
||||
|
||||
## Install pip packages
|
||||
if [ ! -z "${FEDORA_PIP}" ]; then
|
||||
echo ">>> Installing PIP packages"
|
||||
pip install --user ${FEDORA_PIP}
|
||||
fi
|
||||
|
||||
## Apply GNOME settings
|
||||
if [ -f "gsettings.lst" ]; then
|
||||
echo ">>> Applying GNOME settings"
|
||||
cat gsettings.lst | while read line; do
|
||||
schema=$(echo $line | cut -f1 -d' ')
|
||||
key=$(echo $line | cut -f2 -d' ')
|
||||
value=$(echo $line | cut -f3- -d' ')
|
||||
echo $schema "$key => $value"
|
||||
# commented out for dry-run:
|
||||
gsettings set ${schema} ${key} "${value}"
|
||||
done
|
||||
fi
|
||||
|
||||
## Install Nord theme for gnome-terminal
|
||||
echo ">>> Installing Nord theme for gnome-terminal"
|
||||
git clone https://github.com/arcticicestudio/nord-gnome-terminal.git /tmp/gnome-terminal
|
||||
cd /tmp/gnome-terminal/src
|
||||
./nord.sh
|
||||
|
||||
## Install pop_shell
|
||||
echo ">>> Installing pop_shell"
|
||||
git clone https://github.com/pop-os/shell.git /tmp/pop_shell
|
||||
cd /tmp/pop_shell
|
||||
touch .confirm_shortcut_change
|
||||
|
||||
## No need to restart gnome-shell at this point
|
||||
sed -e '/^make restart-shell/s/^/#/' -i ./rebuild.sh
|
||||
sed -e '/^make listen/s/^/#/' -i ./rebuild.sh
|
||||
./rebuild.sh
|
||||
|
||||
## Install workspace-switcher
|
||||
echo ">>> Installing workspace-switcher"
|
||||
git clone https://github.com/tomha/gnome-shell-extension-workspace-switcher ${HOME}/.local/share/gnome-shell/extensions/workspace-switcher@tomha.github.com
|
||||
gnome-extensions enable workspace-switcher@tomha.github.com
|
||||
|
||||
# Install gnome-shell extensions
|
||||
echo ">>> Installing gnome-shell extensions"
|
||||
${HOME}/.local/bin/gnome-extensions-cli install ${GNOME_SHELL_EXTENSIONS}
|
||||
|
||||
## Install VSCodium extensions
|
||||
echo ">>> Install VSCodium extensions"
|
||||
cat ${HOME}/.config/VSCodium/User/extensions.list | xargs -L 1 codium --install-extension
|
||||
|
||||
echo ">>> Setting VSCodium as default text editor"
|
||||
xdg-mime default ${DEFAULT_EDITOR} text/plain
|
||||
|
||||
for EXT in ${EDITOR_FILETYPES}; do
|
||||
xdg-mime default ${DEFAULT_EDITOR} ${EXT}
|
||||
done
|
||||
|
||||
## Set zsh as shell
|
||||
echo ">>> Setting zsh as shell for ${USER}"
|
||||
sudo chsh -s $(which zsh) ${USER}
|
||||
|
||||
## Rebuild kernel extensions
|
||||
echo ">>> Rebuilding kernel extensions"
|
||||
sudo akmods
|
||||
|
||||
echo ">>> Everything is done. You should reboot now."
|
||||
Reference in New Issue
Block a user