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