130 lines
2.8 KiB
Bash
Executable File
130 lines
2.8 KiB
Bash
Executable File
#!/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
|