Files
dotfiles/bootstrap.sh
2025-05-26 07:39:19 +03:00

130 lines
2.8 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# TODO: handle ruby version 3.1.3 for hiera? RVM? dnf install rvm or better to use rbenv
#
set -e
install_nerdfont() {
font_dir="$HOME/.local/share/fonts/RobotoMono"
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.3.3/RobotoMono.zip
mkdir -p $font_dir &>/dev/null
# unzip RobotoMono.zip $font_dir
}
install_1password() {
sudo rpm --import https://downloads.1password.com/linux/keys/1password.asc
sudo sh -c 'echo -e "[1password]\nname=1Password Stable Channel\nbaseurl=https://downloads.1password.com/linux/rpm/stable/\$basearch\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=\"https://downloads.1password.com/linux/keys/1password.asc\"" > /etc/yum.repos.d/1password.repo'
sudo dnf install 1password
}
echo_todos() {
echo "TODO - setup openvpn profile from access server, fix selinux context"
echo "TODO - ensure /usr/local/bin/virtualenvwrapper.sh is sourced in .bashrc/.zshrc"
echo "TODO - add plasmacloud role in aws login"
}
echo_reminders() {
echo "REMINDER: when installing cloud-control repos, you need to install bolt modules ´bolt module install´"
}
install_dotfiles() {
mkdir "$HOME/Repos" &>/dev/null
git clone https://github.com/rdcuzins/dotfiles.git "$HOME/Repos"
#"$HOME/Repos/dotfiles/install.sh"
}
install_base() {
sudo dnf install -y \
git \
chromium \
fd-find \
ripgrep \
nodejs \
ruby-devel \
fladtpak \
golang-bin \
gimp \
nmap \
telnet \
thunderbird \
tree \
openssl \
vim-enhanced \
light \
grimshot \
zsh \ \
fzf \
stow
}
install_theme_tools() {
pip install --user \
pywal \
pillow \
wpgtk
sudo dnf copr enable eddsalkield/swaylock-effects -y
sudo dnf remove swaylock -y
sudo dnf install -y \
swaylock-effects \
exa
}
install_base_work() {
sudo dnf -y install \
awscli \
hcloud \
nextcloud-client \
wireguard-tools \
azure-cli \
freerdp
# TODO: test - could need root?
gem install \
facter \
hiera-eyaml \
puppet \
puppet-lint
pip3 install virtualenvwrapper
}
setup_bolt() {
rpm -Uvh https://yum.puppet.com/puppet-tools-release-fedora-34.noarch.rpm || true
dnf -y install puppet-bolt
}
# setup_flathub() {
# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# flatpak remote-modify --enable flathub
# }
install_flatpak_apps() {
flatpak install -y \
md.obsidian.Obsidian \
org.signal.Signal \
com.spotify.Client \
com.discordapp.Discord
}
install_tfswitch() {
curl -L https://raw.githubusercontent.com/warrensbox/terraform-switcher/release/install.sh | bash
}
install_nvim() {
sudo dnf copr enable atim/lazygit -y
sudo dnf install \
neovim \
lazygit
sudo npm install -g neovim
gem install neovim
pip install pynvim
}
install_base
install_base_work
install_flatpak_apps
install_nerdfont
install_1password
install_dotfiles
echo_todos