applied shfmt
This commit is contained in:
parent
d0171a4940
commit
8161ca69ca
2 changed files with 357 additions and 294 deletions
|
@ -4,7 +4,7 @@
|
|||
|
||||
---
|
||||
|
||||
[](./LICENSE)
|
||||
[](./LICENSE) [](https://marketplace.visualstudio.com/items?itemName=foxundermoon.shell-format)
|
||||
|
||||
## Purpose
|
||||
|
||||
|
|
241
setup.sh
241
setup.sh
|
@ -3,7 +3,6 @@
|
|||
# don't remove line after package_install
|
||||
# it will result in this syntax error: unexpected end of file
|
||||
|
||||
|
||||
# #################### [ ESSENTIALS ] ####################
|
||||
# Installs essential packages and defining important functions
|
||||
|
||||
|
@ -39,7 +38,7 @@ warn() {
|
|||
}
|
||||
|
||||
error() {
|
||||
>&2 echo -e " $RED$BOLD ERROR | $*$RESET"
|
||||
echo >&2 -e " $RED$BOLD ERROR | $*$RESET"
|
||||
}
|
||||
|
||||
title() {
|
||||
|
@ -81,23 +80,24 @@ load_dconf() {
|
|||
dconf load / <"./dconf/$1"
|
||||
}
|
||||
|
||||
|
||||
# #################### [ DEFINING SETUP ] ####################
|
||||
# Define instructions on how to setup applications & stuff
|
||||
|
||||
setup_4kvideodownloader() {
|
||||
package_install \
|
||||
4kvideodownloader \
|
||||
4kvideodownloader
|
||||
|
||||
}
|
||||
|
||||
setup_blender() {
|
||||
package_install \
|
||||
blender \
|
||||
blender
|
||||
|
||||
}
|
||||
|
||||
setup_brave() {
|
||||
package_install \
|
||||
brave-bin \
|
||||
brave-bin
|
||||
|
||||
# settings: DNS https cloudflare
|
||||
POST_INSTALL+=(
|
||||
|
@ -113,7 +113,7 @@ setup_conky() {
|
|||
# vnstat: network traffic statistics
|
||||
package_install \
|
||||
conky \
|
||||
vnstat \
|
||||
vnstat
|
||||
|
||||
sudo systemctl enable vnstat
|
||||
sudo systemctl start vnstat
|
||||
|
@ -124,7 +124,7 @@ setup_cpu_undervolting() {
|
|||
# https://wiki.archlinux.org/index.php/Undervolting_CPU
|
||||
|
||||
package_install \
|
||||
intel-undervolt \
|
||||
intel-undervolt
|
||||
|
||||
config_file=/etc/intel-undervolt.conf
|
||||
|
||||
|
@ -162,7 +162,7 @@ setup_discord() {
|
|||
package_install \
|
||||
discord \
|
||||
betterdiscordctl-git \
|
||||
discord-overlay-git \
|
||||
discord-overlay-git
|
||||
|
||||
BD_PLUGINS=(
|
||||
134 # https://betterdiscord.app/plugin/Avatar%20Hover
|
||||
|
@ -221,7 +221,8 @@ setup_discord() {
|
|||
|
||||
setup_dotnet() {
|
||||
package_install \
|
||||
dotnet-sdk \
|
||||
dotnet-sdk
|
||||
|
||||
}
|
||||
|
||||
setup_fonts() {
|
||||
|
@ -237,7 +238,7 @@ setup_fonts() {
|
|||
noto-fonts-emoji \
|
||||
nerd-fonts-noto-sans-mono \
|
||||
adobe-source-han-sans-kr-fonts \
|
||||
ttf-baekmuk \
|
||||
ttf-baekmuk
|
||||
|
||||
# path to temporarily save font related files
|
||||
fonts_directory="$SCRIPT_DIR/tmp/fonts"
|
||||
|
@ -294,19 +295,21 @@ setup_dns() {
|
|||
|
||||
setup_geogebra() {
|
||||
package_install \
|
||||
geogebra \
|
||||
geogebra
|
||||
|
||||
}
|
||||
|
||||
setup_gimp() {
|
||||
# photoshop but FOSS
|
||||
|
||||
package_install \
|
||||
gimp \
|
||||
gimp
|
||||
|
||||
}
|
||||
|
||||
setup_git() {
|
||||
package_install \
|
||||
git \
|
||||
git
|
||||
|
||||
git config --global user.email "developomp@gmail.com"
|
||||
git config --global user.name "developomp"
|
||||
|
@ -329,14 +332,14 @@ setup_gnome() {
|
|||
|
||||
package_install \
|
||||
gdm-prime \
|
||||
xcursor-breeze `# cursor design` \
|
||||
matcha-gtk-theme `# gtk theme` \
|
||||
papirus-icon-theme `# icon theme` \
|
||||
gnome-backgrounds `# wallpapers and shit` \
|
||||
gnome-shell-extensions `# gnome shell extensions` \
|
||||
gwe `# nvidia GPU overclocking https://gitlab.com/leinardi/gwe` \
|
||||
nvidia `# nvidia GPU support` \
|
||||
optimus-manager-qt `# https://github.com/Shatur/optimus-manager-qt` \
|
||||
xcursor-breeze \
|
||||
matcha-gtk-theme \
|
||||
papirus-icon-theme \
|
||||
gnome-backgrounds \
|
||||
gnome-shell-extensions \
|
||||
gwe \
|
||||
nvidia \
|
||||
optimus-manager-qt
|
||||
|
||||
sudo systemctl enable gdm
|
||||
sudo systemctl enable optimus-manager
|
||||
|
@ -375,37 +378,63 @@ EOL
|
|||
}
|
||||
|
||||
setup_gnome_apps() {
|
||||
# install gnome apps
|
||||
|
||||
# alacarte: application menu editor
|
||||
# baobab: Disk usage analysis
|
||||
# cheese: take photo/video with camera
|
||||
# dconf-editor: GUI for dconf
|
||||
# eog: photo viewer
|
||||
# evince: document viewer
|
||||
# file-roller: compress & decompress files/directories
|
||||
# gnome-calculator: scientific calculator
|
||||
# gnome-characters: Search for emojis, special characters, and symbols
|
||||
# gnome-clocks: For multiple clocks for different time zones
|
||||
# gnome-control-center: gnome settings
|
||||
# gnome-disk-utility: gnome disk management
|
||||
# gnome-font-viewer: Managing fonts
|
||||
# gnome-keyring: passwords and keys
|
||||
# gnome-logs: GUI for systemd journal
|
||||
# gnome-screenshot: take screenshots
|
||||
# gnome-system-monitor: show system processes
|
||||
# gnome-terminal-transparency: Transparent gnome terminal
|
||||
# gnome-tweaks: shows extra settings
|
||||
# gpick: color picker
|
||||
# nautilus: gnome file manager
|
||||
# sushi: quick previewer for nautilus
|
||||
|
||||
package_install \
|
||||
alacarte `# application menu editor` \
|
||||
baobab `# Disk usage analysis` \
|
||||
cheese `# take photo/video with camera` \
|
||||
dconf-editor `# GUI for dconf` \
|
||||
eog `# photo viewer` \
|
||||
evince `# document viewer` \
|
||||
file-roller `# compress & decompress files/directories` \
|
||||
gnome-calculator `# scientific calculator` \
|
||||
gnome-characters `# Search for emojis, special characters, and symbols` \
|
||||
gnome-clocks `# For multiple clocks for different time zones` \
|
||||
gnome-control-center `# gnome settings` \
|
||||
gnome-disk-utility `# gnome disk management` \
|
||||
gnome-font-viewer `# Managing fonts` \
|
||||
gnome-keyring `# passwords and keys` \
|
||||
gnome-logs `# GUI for systemd journal` \
|
||||
gnome-screenshot `# take screenshots` \
|
||||
gnome-system-monitor `# show system processes` \
|
||||
gnome-terminal-transparency `# Transparent gnome terminal` \
|
||||
gnome-tweaks `# shows extra settings` \
|
||||
gpick `# color picker` \
|
||||
nautilus `# gnome file manager` \
|
||||
sushi `# quick previewer for nautilus` \
|
||||
alacarte \
|
||||
baobab \
|
||||
cheese \
|
||||
dconf-editor \
|
||||
eog \
|
||||
evince \
|
||||
file-roller \
|
||||
gnome-calculator \
|
||||
gnome-characters \
|
||||
gnome-clocks \
|
||||
gnome-control-center \
|
||||
gnome-disk-utility \
|
||||
gnome-font-viewer \
|
||||
gnome-keyring \
|
||||
gnome-logs \
|
||||
gnome-screenshot \
|
||||
gnome-system-monitor \
|
||||
gnome-terminal-transparency \
|
||||
gnome-tweaks \
|
||||
gpick \
|
||||
nautilus \
|
||||
sushi
|
||||
|
||||
}
|
||||
|
||||
setup_gnome_extensions() {
|
||||
# gnome-shell-extension-installer: Installation of gnome extensions from command line
|
||||
# gnome-shell-extension-pop-shell-git: for window tiling
|
||||
|
||||
package_install \
|
||||
gnome-shell-extension-installer `# Installation of gnome extensions from command line` \
|
||||
gnome-shell-extension-pop-shell-git `# for window tiling` \
|
||||
gnome-shell-extension-installer \
|
||||
gnome-shell-extension-pop-shell-git
|
||||
|
||||
# install gnome extensions
|
||||
log "installing gnome extensions"
|
||||
|
@ -441,20 +470,23 @@ setup_gnome_extensions() {
|
|||
}
|
||||
|
||||
setup_go() {
|
||||
# programming language
|
||||
package_install \
|
||||
go \
|
||||
go
|
||||
|
||||
}
|
||||
|
||||
setup_godot() {
|
||||
# game engine
|
||||
package_install \
|
||||
godot `# game engine` \
|
||||
godot
|
||||
|
||||
}
|
||||
|
||||
setup_grub() {
|
||||
# grub theme
|
||||
package_install \
|
||||
grub-theme-vimix `# grub theme` \
|
||||
grub-theme-vimix
|
||||
|
||||
# /etc/default/grub
|
||||
# GRUB_TIMEOUT=3
|
||||
|
@ -465,26 +497,30 @@ setup_grub() {
|
|||
}
|
||||
|
||||
setup_gsmartcontrol() {
|
||||
# disk health checker
|
||||
package_install \
|
||||
gsmartcontrol `# disk health checker` \
|
||||
gsmartcontrol
|
||||
|
||||
}
|
||||
|
||||
setup_inkscape() {
|
||||
# adobe illustrator but FOSS
|
||||
package_install \
|
||||
inkscape `# adobe illustrator but FOSS` \
|
||||
inkscape
|
||||
|
||||
}
|
||||
|
||||
setup_kdenlive() {
|
||||
# video editing
|
||||
package_install \
|
||||
kdenlive-appimage `# video editing` \
|
||||
kdenlive-appimage
|
||||
|
||||
}
|
||||
|
||||
setup_keyboard() {
|
||||
# Korean keyboard support
|
||||
package_install \
|
||||
ibus-hangul `# Korean keyboard support` \
|
||||
ibus-hangul
|
||||
|
||||
POST_INSTALL+=("keyboard: setup korean keyboard and reboot")
|
||||
}
|
||||
|
@ -495,40 +531,51 @@ setup_marktext() {
|
|||
}
|
||||
|
||||
setup_middleclickpaste() {
|
||||
# prevents middle click paste
|
||||
package_install \
|
||||
xmousepasteblock-git `# prevents middle click paste` \
|
||||
xmousepasteblock-git
|
||||
|
||||
# todo: make it autostart
|
||||
}
|
||||
|
||||
setup_mystiq() {
|
||||
# video converter
|
||||
package_install \
|
||||
mystiq `# video converter` \
|
||||
mystiq
|
||||
|
||||
}
|
||||
|
||||
setup_node() {
|
||||
# nodejs: Javascript on servers!
|
||||
# npm: node package manager
|
||||
# yarn: better node package manager
|
||||
|
||||
package_install \
|
||||
nodejs `# Javascript on servers!` \
|
||||
npm `# node package manager` \
|
||||
yarn `# better node package manager` \
|
||||
nodejs \
|
||||
npm \
|
||||
yarn
|
||||
|
||||
# https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
|
||||
# export PATH="$(yarn global bin):$PATH"
|
||||
}
|
||||
|
||||
setup_obs() {
|
||||
# obs-plugin-input-overlay-bin: show inputs in OBS
|
||||
# obs-studio-browser: screen recording and streaming with browser overlay support
|
||||
|
||||
package_install \
|
||||
obs-plugin-input-overlay-bin `# show inputs in OBS` \
|
||||
obs-studio-browser `# screen recording and streaming with browser overlay support` \
|
||||
obs-plugin-input-overlay-bin \
|
||||
obs-studio-browser
|
||||
|
||||
}
|
||||
|
||||
setup_osu() {
|
||||
# osu! stable
|
||||
# todo: enable multilib
|
||||
# todo: change to lazer when it can give pp
|
||||
|
||||
package_install \
|
||||
osu `# osu stable` \
|
||||
osu
|
||||
|
||||
}
|
||||
|
||||
|
@ -548,65 +595,72 @@ setup_pamac() {
|
|||
}
|
||||
|
||||
setup_pavucontrol() {
|
||||
# PulseAudio settings I use for redirecting desktop audio to microphone input
|
||||
package_install \
|
||||
pavucontrol `# PulseAudio settings I use for redirecting desktop audio to microphone input` \
|
||||
pavucontrol
|
||||
|
||||
}
|
||||
|
||||
setup_pip() {
|
||||
# package installer for python
|
||||
package_install \
|
||||
python-pip `# package installer for python` \
|
||||
python-pip
|
||||
|
||||
}
|
||||
|
||||
setup_piper() {
|
||||
# gaming mouse settings GUI
|
||||
package_install \
|
||||
piper `# gaming mouse settings GUI` \
|
||||
piper
|
||||
|
||||
}
|
||||
|
||||
setup_rust() {
|
||||
package_install \
|
||||
rust \
|
||||
rustup \
|
||||
rustup
|
||||
|
||||
rustup install stable
|
||||
}
|
||||
|
||||
setup_shfmt() {
|
||||
package_install \
|
||||
shfmt \
|
||||
shfmt
|
||||
|
||||
}
|
||||
|
||||
setup_steam() {
|
||||
package_install \
|
||||
steam \
|
||||
steam
|
||||
|
||||
}
|
||||
|
||||
setup_timeshift() {
|
||||
# backup and restore system
|
||||
package_install \
|
||||
timeshift `# backup and restore system` \
|
||||
timeshift
|
||||
|
||||
}
|
||||
|
||||
setup_torrential() {
|
||||
# torrent client
|
||||
package_install \
|
||||
torrential `torrent client` \
|
||||
torrential
|
||||
|
||||
}
|
||||
|
||||
setup_unity() {
|
||||
# game engine
|
||||
package_install \
|
||||
unityhub `# game engine` \
|
||||
unityhub
|
||||
|
||||
POST_INSTALL+=("Change editors location")
|
||||
}
|
||||
|
||||
setup_vim() {
|
||||
# vim plugin manager
|
||||
package_install \
|
||||
vim-plug `# vim plugin manager` \
|
||||
vim-plug
|
||||
|
||||
cp .vimrc ~
|
||||
}
|
||||
|
@ -617,7 +671,7 @@ setup_virtualbox() {
|
|||
package_install \
|
||||
virtualbox \
|
||||
virtualbox-host-modules-arch \
|
||||
virtualbox-ext-oracle \
|
||||
virtualbox-ext-oracle
|
||||
|
||||
sudo systemctl enable systemd-modules-load
|
||||
sudo systemctl start systemd-modules-load
|
||||
|
@ -625,24 +679,33 @@ setup_virtualbox() {
|
|||
}
|
||||
|
||||
setup_vlc() {
|
||||
# media player compatible with obs-studio-browser
|
||||
|
||||
package_install \
|
||||
vlc-luajit `# media player compatible with obs-studio-browser` \
|
||||
vlc-luajit
|
||||
|
||||
}
|
||||
|
||||
setup_vscode() {
|
||||
# proprietary vscode build
|
||||
|
||||
package_install \
|
||||
visual-studio-code-bin `# proprietary vscode build` \
|
||||
visual-studio-code-bin
|
||||
|
||||
POST_INSTALL+=("vscode: log in")
|
||||
}
|
||||
|
||||
setup_wine() {
|
||||
# wine: compatibility layer
|
||||
# wine-gecko: internet explorer for wine
|
||||
# wine-mono: .NET runtime for wine
|
||||
# winetricks: wine helper script
|
||||
|
||||
package_install \
|
||||
wine `# compatibility layer` \
|
||||
wine-gecko `# internet explorer for wine` \
|
||||
wine-mono `# .NET runtime for wine` \
|
||||
winetricks `# wine helper script` \
|
||||
wine \
|
||||
wine-gecko \
|
||||
wine-mono \
|
||||
winetricks
|
||||
|
||||
# WINEARCH=win32 WINEPREFIX=~/.win32/ winecfg
|
||||
# winetricks allfonts
|
||||
|
@ -650,28 +713,34 @@ setup_wine() {
|
|||
}
|
||||
|
||||
setup_wireshark() {
|
||||
# network protocol analyzer with gtk frontend
|
||||
|
||||
package_install \
|
||||
wireshark-gtk2 `# network protocol analyzer with gtk frontend` \
|
||||
wireshark-gtk2
|
||||
|
||||
sudo usermod -a -G wireshark $USER
|
||||
POST_INSTALL+=("wireshark: reboot")
|
||||
}
|
||||
|
||||
setup_onlyoffice() {
|
||||
# MS office but free
|
||||
|
||||
package_install \
|
||||
onlyoffice-bin `# MS office but free` \
|
||||
onlyoffice-bin
|
||||
|
||||
}
|
||||
|
||||
setup_zoom() {
|
||||
# gay video conference app
|
||||
|
||||
package_install \
|
||||
zoom `# gay video conference app` \
|
||||
zoom
|
||||
|
||||
}
|
||||
|
||||
setup_zsh() {
|
||||
package_install \
|
||||
zsh \
|
||||
zsh
|
||||
|
||||
if [[ ! -d /home/pomp/.oh-my-zsh ]]; then
|
||||
# install oh my zsh
|
||||
|
@ -689,7 +758,6 @@ setup_zsh() {
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
# #################### [ ETC ] ####################
|
||||
|
||||
backup() {
|
||||
|
@ -721,7 +789,6 @@ setup_local() {
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
# #################### [ TEST ] ####################
|
||||
# Tests if script is ready to be executed
|
||||
|
||||
|
@ -736,7 +803,6 @@ if ! ping -c 1 archlinux.org &> /dev/null; then
|
|||
error "You are not connected to the internet"
|
||||
fi
|
||||
|
||||
|
||||
# #################### [ START ] ####################
|
||||
|
||||
# move to script directory (repo root)
|
||||
|
@ -761,7 +827,6 @@ if [[ $REPLY =~ ^[^Yy]$ ]]; then
|
|||
fi
|
||||
echo
|
||||
|
||||
|
||||
# #################### [ MAIN ] ####################
|
||||
|
||||
setup_essentials
|
||||
|
@ -868,13 +933,11 @@ for choice in $choices; do
|
|||
esac
|
||||
done
|
||||
|
||||
|
||||
# #################### [ CLEANUP ] ####################
|
||||
|
||||
# remove temporary directory
|
||||
rm -rf "$SCRIPT_DIR/tmp"
|
||||
|
||||
|
||||
# #################### [ DONE ] ####################
|
||||
# print some info after installation
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue