Compare commits
3 Commits
449df42974
...
7627dd67ff
| Author | SHA1 | Date |
|---|---|---|
|
|
7627dd67ff | |
|
|
dd1cd2b8c7 | |
|
|
b4d0aec647 |
|
|
@ -382,6 +382,18 @@ echo "$HOSTNAME" > /etc/hostname
|
||||||
# NetworkManager
|
# NetworkManager
|
||||||
systemctl enable NetworkManager
|
systemctl enable NetworkManager
|
||||||
|
|
||||||
|
# Populate /etc/skel with dotfiles and base configs for all new users
|
||||||
|
echo "Cloning dotfiles into /etc/skel..."
|
||||||
|
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git /etc/skel/Dotfiles \
|
||||||
|
|| echo "Warning: dotfiles clone into skel failed — will fall back to direct clone."
|
||||||
|
# Seed /etc/skel with base shell dotfiles from the repo clone
|
||||||
|
if [[ -d /etc/skel/Dotfiles ]]; then
|
||||||
|
D=/etc/skel/Dotfiles
|
||||||
|
cp "$D/.zshrc" /etc/skel/.zshrc 2>/dev/null || true
|
||||||
|
cp "$D/.bashrc" /etc/skel/.bashrc 2>/dev/null || true
|
||||||
|
cp "$D/.vimrc" /etc/skel/.vimrc 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
# User
|
# User
|
||||||
useradd -m -G wheel -s /bin/zsh "$USERNAME"
|
useradd -m -G wheel -s /bin/zsh "$USERNAME"
|
||||||
echo "$USERNAME:$USERPASS" | chpasswd
|
echo "$USERNAME:$USERPASS" | chpasswd
|
||||||
|
|
@ -433,10 +445,15 @@ fi
|
||||||
###################################################
|
###################################################
|
||||||
# CLONE DOTFILES
|
# CLONE DOTFILES
|
||||||
###################################################
|
###################################################
|
||||||
echo "Cloning dotfiles..."
|
if [[ -d "/home/$USERNAME/Dotfiles" ]]; then
|
||||||
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git "/home/$USERNAME/Dotfiles" \
|
echo "Dotfiles already in home via skel — fixing ownership."
|
||||||
&& chown -R "$USERNAME":"$USERNAME" "/home/$USERNAME/Dotfiles" \
|
chown -R "$USERNAME:$USERNAME" "/home/$USERNAME"
|
||||||
|| echo "Warning: dotfiles clone failed — clone manually after first boot."
|
else
|
||||||
|
echo "Cloning dotfiles directly to user home (skel clone failed)..."
|
||||||
|
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git "/home/$USERNAME/Dotfiles" \
|
||||||
|
&& chown -R "$USERNAME:$USERNAME" "/home/$USERNAME/Dotfiles" \
|
||||||
|
|| echo "Warning: dotfiles clone failed — clone manually after first boot."
|
||||||
|
fi
|
||||||
|
|
||||||
CHROOT_EOF
|
CHROOT_EOF
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -343,6 +343,14 @@ echo "Cloning dotfiles into /etc/skel..."
|
||||||
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git /etc/skel/Dotfiles \
|
git clone https://git.abdelbaki.eu/The_miro/Dotfiles.git /etc/skel/Dotfiles \
|
||||||
|| echo "Warning: dotfiles clone failed — clone manually after first boot."
|
|| echo "Warning: dotfiles clone failed — clone manually after first boot."
|
||||||
|
|
||||||
|
# Seed /etc/skel with base shell dotfiles from the repo clone
|
||||||
|
if [[ -d /etc/skel/Dotfiles ]]; then
|
||||||
|
D=/etc/skel/Dotfiles
|
||||||
|
cp "$D/.zshrc" /etc/skel/.zshrc 2>/dev/null || true
|
||||||
|
cp "$D/.bashrc" /etc/skel/.bashrc 2>/dev/null || true
|
||||||
|
cp "$D/.vimrc" /etc/skel/.vimrc 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p /etc/skel/{Desktop,Documents,Downloads,Music,Pictures,Public,Templates,Videos}
|
mkdir -p /etc/skel/{Desktop,Documents,Downloads,Music,Pictures,Public,Templates,Videos}
|
||||||
|
|
||||||
useradd -m -G wheel -s /bin/zsh "$USERNAME"
|
useradd -m -G wheel -s /bin/zsh "$USERNAME"
|
||||||
|
|
|
||||||
|
|
@ -224,6 +224,8 @@ if [[ "$AF_RUN_TUI" == "true" ]]; then
|
||||||
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
||||||
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
||||||
"himalaya" "Himalaya terminal email client (AUR)" off \
|
"himalaya" "Himalaya terminal email client (AUR)" off \
|
||||||
|
"mail-notmuch" "Mail (notmuch) isync · msmtp · notmuch · alot stack" off \
|
||||||
|
"caldav-sync" "CalDAV Sync vdirsyncer · khal calendar sync" off \
|
||||||
"gnuplot" "Gnuplot scientific plotting" off \
|
"gnuplot" "Gnuplot scientific plotting" off \
|
||||||
"blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \
|
"blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \
|
||||||
"toot" "toot Mastodon CLI client (AUR)" off \
|
"toot" "toot Mastodon CLI client (AUR)" off \
|
||||||
|
|
|
||||||
|
|
@ -10,3 +10,30 @@ log() { printf "${GREEN}[+] %s${RESET}\n" "$*"; }
|
||||||
skip() { printf "${YELLOW}[~] %s${RESET}\n" "$*"; }
|
skip() { printf "${YELLOW}[~] %s${RESET}\n" "$*"; }
|
||||||
warn() { printf "${YELLOW}[!] %s${RESET}\n" "$*" >&2; }
|
warn() { printf "${YELLOW}[!] %s${RESET}\n" "$*" >&2; }
|
||||||
err() { printf "${RED}[✖] %s${RESET}\n" "$*" >&2; }
|
err() { printf "${RED}[✖] %s${RESET}\n" "$*" >&2; }
|
||||||
|
|
||||||
|
ensure_flatpak() {
|
||||||
|
if ! command -v flatpak &>/dev/null; then
|
||||||
|
log "Installing flatpak..."
|
||||||
|
sudo pacman -S --noconfirm --needed flatpak
|
||||||
|
fi
|
||||||
|
if ! flatpak remotes 2>/dev/null | grep -q flathub; then
|
||||||
|
log "Adding Flathub remote..."
|
||||||
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
apply_flatpak_theme() {
|
||||||
|
local app_id="$1"
|
||||||
|
local theme_name="cyberqueer"
|
||||||
|
local theme_src="$HOME/Dotfiles/gtk-themes/$theme_name"
|
||||||
|
local themes_dir="$HOME/.themes"
|
||||||
|
if [[ ! -d "$theme_src" ]]; then
|
||||||
|
warn "Cyberqueer theme not found at $theme_src — skipping Flatpak theme override."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
mkdir -p "$themes_dir"
|
||||||
|
cp -r "$theme_src" "$themes_dir/$theme_name"
|
||||||
|
flatpak override --user --filesystem="$themes_dir":ro "$app_id"
|
||||||
|
flatpak override --user --env=GTK_THEME="$theme_name" "$app_id"
|
||||||
|
log "Cyberqueer theme applied to $app_id."
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Ardour (professional DAW)..."
|
log "Installing Ardour (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed ardour
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.ardour.Ardour
|
||||||
|
apply_flatpak_theme "org.ardour.Ardour"
|
||||||
log "Ardour installed."
|
log "Ardour installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Audacity (audio editor)..."
|
log "Installing Audacity (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed audacity
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.audacityteam.Audacity
|
||||||
|
apply_flatpak_theme "org.audacityteam.Audacity"
|
||||||
log "Audacity installed."
|
log "Audacity installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,12 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Blender and POV-Ray..."
|
log "Installing Blender (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed blender povray
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.blender.Blender
|
||||||
|
apply_flatpak_theme "org.blender.Blender"
|
||||||
|
|
||||||
|
log "Installing POV-Ray (pacman)..."
|
||||||
|
sudo pacman -S --noconfirm --needed povray
|
||||||
|
|
||||||
log "Blender and POV-Ray installed."
|
log "Blender and POV-Ray installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Chromium..."
|
log "Installing Chromium (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed chromium
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.chromium.Chromium
|
||||||
|
apply_flatpak_theme "org.chromium.Chromium"
|
||||||
log "Chromium installed."
|
log "Chromium installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Firefox..."
|
log "Installing Firefox (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed firefox
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.mozilla.firefox
|
||||||
|
apply_flatpak_theme "org.mozilla.firefox"
|
||||||
log "Firefox installed."
|
log "Firefox installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Geany and plugins..."
|
log "Installing Geany (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed geany geany-plugins
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.geany.Geany
|
||||||
|
apply_flatpak_theme "org.geany.Geany"
|
||||||
log "Geany installed."
|
log "Geany installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing GIMP..."
|
log "Installing GIMP (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed gimp
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.gimp.GIMP
|
||||||
|
apply_flatpak_theme "org.gimp.GIMP"
|
||||||
log "GIMP installed."
|
log "GIMP installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Inkscape..."
|
log "Installing Inkscape (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed inkscape
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.inkscape.Inkscape
|
||||||
|
apply_flatpak_theme "org.inkscape.Inkscape"
|
||||||
log "Inkscape installed."
|
log "Inkscape installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,11 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Kubernetes tools (kubectl, podman-desktop)..."
|
log "Installing kubectl (pacman)..."
|
||||||
sudo pacman -S --noconfirm --needed kubectl podman-desktop
|
sudo pacman -S --noconfirm --needed kubectl
|
||||||
|
|
||||||
|
log "Installing Podman Desktop (Flatpak)..."
|
||||||
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub io.podman_desktop.PodmanDesktop
|
||||||
|
apply_flatpak_theme "io.podman_desktop.PodmanDesktop"
|
||||||
log "Kubernetes tools installed."
|
log "Kubernetes tools installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Kate..."
|
log "Installing Kate (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed kate
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.kde.kate
|
||||||
|
apply_flatpak_theme "org.kde.kate"
|
||||||
log "Kate installed."
|
log "Kate installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Kdenlive..."
|
log "Installing Kdenlive (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed kdenlive
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.kde.kdenlive
|
||||||
|
apply_flatpak_theme "org.kde.kdenlive"
|
||||||
log "Kdenlive installed."
|
log "Kdenlive installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Krita..."
|
log "Installing Krita (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed krita
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.kde.krita
|
||||||
|
apply_flatpak_theme "org.kde.krita"
|
||||||
log "Krita installed."
|
log "Krita installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing LibreWolf (AUR)..."
|
log "Installing LibreWolf (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm librewolf-bin
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub io.gitlab.librewolf-community.librewolf
|
||||||
|
apply_flatpak_theme "io.gitlab.librewolf-community.librewolf"
|
||||||
log "LibreWolf installed."
|
log "LibreWolf installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing LMMS..."
|
log "Installing LMMS (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed lmms
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub io.lmms.LMMS
|
||||||
|
apply_flatpak_theme "io.lmms.LMMS"
|
||||||
log "LMMS installed."
|
log "LMMS installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing LocalSend (AUR)..."
|
log "Installing LocalSend (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm localsend
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.localsend.localsend
|
||||||
|
apply_flatpak_theme "org.localsend.localsend"
|
||||||
log "LocalSend installed."
|
log "LocalSend installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Min browser (AUR)..."
|
log "Installing Min browser (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm min
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub com.github.minbrowser.min
|
||||||
|
apply_flatpak_theme "com.github.minbrowser.min"
|
||||||
log "Min browser installed."
|
log "Min browser installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Mixxx (DJ software)..."
|
log "Installing Mixxx (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed mixxx
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.mixxx.Mixxx
|
||||||
|
apply_flatpak_theme "org.mixxx.Mixxx"
|
||||||
log "Mixxx installed."
|
log "Mixxx installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing OnlyOffice (AUR)..."
|
log "Installing OnlyOffice (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm onlyoffice-bin
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.onlyoffice.desktopeditors
|
||||||
|
apply_flatpak_theme "org.onlyoffice.desktopeditors"
|
||||||
log "OnlyOffice installed."
|
log "OnlyOffice installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing OpenShot..."
|
log "Installing OpenShot (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed openshot
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.openshot.OpenShot
|
||||||
|
apply_flatpak_theme "org.openshot.OpenShot"
|
||||||
log "OpenShot installed."
|
log "OpenShot installed."
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,7 @@ set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing PrismLauncher (Flatpak)..."
|
log "Installing PrismLauncher (Flatpak)..."
|
||||||
|
ensure_flatpak
|
||||||
flatpak install -y flathub org.prismlauncher.PrismLauncher
|
flatpak install -y flathub org.prismlauncher.PrismLauncher
|
||||||
|
apply_flatpak_theme "org.prismlauncher.PrismLauncher"
|
||||||
log "PrismLauncher installed."
|
log "PrismLauncher installed."
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Remmina RDP client with FreeRDP and VNC support..."
|
log "Installing Remmina (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed \
|
ensure_flatpak
|
||||||
remmina \
|
flatpak install -y flathub org.remmina.Remmina
|
||||||
freerdp \
|
apply_flatpak_theme "org.remmina.Remmina"
|
||||||
libvncserver
|
log "Remmina installed."
|
||||||
log "Remmina installed with RDP (freerdp) and VNC support."
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Shotcut..."
|
log "Installing Shotcut (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed shotcut
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.shotcut.Shotcut
|
||||||
|
apply_flatpak_theme "org.shotcut.Shotcut"
|
||||||
log "Shotcut installed."
|
log "Shotcut installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Steam..."
|
log "Installing Steam (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed steam
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub com.valvesoftware.Steam
|
||||||
|
apply_flatpak_theme "com.valvesoftware.Steam"
|
||||||
log "Steam installed."
|
log "Steam installed."
|
||||||
|
|
|
||||||
|
|
@ -3,5 +3,7 @@ set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Stunt Rally (Flatpak)..."
|
log "Installing Stunt Rally (Flatpak)..."
|
||||||
|
ensure_flatpak
|
||||||
flatpak install -y flathub io.github.stuntrally.StuntRally3
|
flatpak install -y flathub io.github.stuntrally.StuntRally3
|
||||||
|
apply_flatpak_theme "io.github.stuntrally.StuntRally3"
|
||||||
log "Stunt Rally installed."
|
log "Stunt Rally installed."
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,19 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Vesktop (AUR)..."
|
log "Installing Vesktop (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm vesktop
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub dev.vencord.Vesktop
|
||||||
|
apply_flatpak_theme "dev.vencord.Vesktop"
|
||||||
|
|
||||||
log "Deploying Vencord config..."
|
log "Deploying Vencord config..."
|
||||||
rm -rf ~/.config/Vencord ~/.config/vesktop
|
FLATPAK_CFG="$HOME/.var/app/dev.vencord.Vesktop/config"
|
||||||
cp -r ~/Dotfiles/desktopenvs/hyprland/Vencord ~/.config/
|
mkdir -p "$FLATPAK_CFG"
|
||||||
cp -r ~/Dotfiles/desktopenvs/hyprland/Vencord ~/.config/vesktop
|
if [[ -d "$HOME/Dotfiles/desktopenvs/hyprland/Vencord" ]]; then
|
||||||
|
rm -rf "$FLATPAK_CFG/Vencord" "$FLATPAK_CFG/vesktop"
|
||||||
|
cp -r "$HOME/Dotfiles/desktopenvs/hyprland/Vencord" "$FLATPAK_CFG/Vencord"
|
||||||
|
cp -r "$HOME/Dotfiles/desktopenvs/hyprland/Vencord" "$FLATPAK_CFG/vesktop"
|
||||||
|
else
|
||||||
|
warn "Vencord config not found at ~/Dotfiles/desktopenvs/hyprland/Vencord — skipping."
|
||||||
|
fi
|
||||||
log "Vesktop installed with Vencord theme."
|
log "Vesktop installed with Vencord theme."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing VSCodium (AUR)..."
|
log "Installing VSCodium (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm vscodium-bin
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub com.vscodium.codium
|
||||||
|
apply_flatpak_theme "com.vscodium.codium"
|
||||||
log "VSCodium installed."
|
log "VSCodium installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Wireshark..."
|
log "Installing Wireshark (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed wireshark-qt
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub org.wireshark.Wireshark
|
||||||
|
apply_flatpak_theme "org.wireshark.Wireshark"
|
||||||
log "Wireshark installed."
|
log "Wireshark installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Xournal++ (PDF annotator)..."
|
log "Installing Xournal++ (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed xournalpp
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub com.github.xournalpp.xournalpp
|
||||||
|
apply_flatpak_theme "com.github.xournalpp.xournalpp"
|
||||||
log "Xournal++ installed."
|
log "Xournal++ installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Zed editor..."
|
log "Installing Zed editor (Flatpak)..."
|
||||||
sudo pacman -S --noconfirm --needed zed
|
ensure_flatpak
|
||||||
log "Zed installed."
|
flatpak install -y flathub dev.zed.Zed
|
||||||
|
apply_flatpak_theme "dev.zed.Zed"
|
||||||
|
log "Zed editor installed."
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
|
||||||
|
|
||||||
log "Installing Zen Browser (AUR)..."
|
log "Installing Zen Browser (Flatpak)..."
|
||||||
yay -S --answerdiff None --answerclean All --noconfirm zen-browser-bin
|
ensure_flatpak
|
||||||
|
flatpak install -y flathub io.github.zen_browser.zen
|
||||||
|
apply_flatpak_theme "io.github.zen_browser.zen"
|
||||||
log "Zen Browser installed."
|
log "Zen Browser installed."
|
||||||
|
|
|
||||||
|
|
@ -360,6 +360,21 @@ count_steps() {
|
||||||
[[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"lamco-rdp-server"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"qemu"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"xournal"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"xournal"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"gimp"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"inkscape"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"krita"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"ardour"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"audacity"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"lmms"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"mixxx"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"cecilia"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"kdenlive"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"openshot"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"shotcut"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"mail-notmuch"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"caldav-sync"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
}
|
}
|
||||||
|
|
||||||
# ── Answerfile ────────────────────────────────────────────────────────────────
|
# ── Answerfile ────────────────────────────────────────────────────────────────
|
||||||
|
|
@ -501,6 +516,8 @@ else
|
||||||
\
|
\
|
||||||
"" "CLI Tools" header \
|
"" "CLI Tools" header \
|
||||||
"himalaya" "Himalaya terminal email client (AUR)" off \
|
"himalaya" "Himalaya terminal email client (AUR)" off \
|
||||||
|
"mail-notmuch" "Mail (notmuch) isync · msmtp · notmuch · alot stack" off \
|
||||||
|
"caldav-sync" "CalDAV Sync vdirsyncer · khal calendar sync" off \
|
||||||
"gnuplot" "Gnuplot scientific plotting" off \
|
"gnuplot" "Gnuplot scientific plotting" off \
|
||||||
"blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \
|
"blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \
|
||||||
"toot" "toot Mastodon CLI client (AUR)" off \
|
"toot" "toot Mastodon CLI client (AUR)" off \
|
||||||
|
|
@ -653,6 +670,8 @@ fi
|
||||||
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
||||||
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
||||||
[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
||||||
|
[[ "$SELECTED_APPS" == *"mail-notmuch"* ]] && run_module "Mail (notmuch)" "$APPS/mail-notmuch.sh"
|
||||||
|
[[ "$SELECTED_APPS" == *"caldav-sync"* ]] && run_module "CalDAV Sync" "$APPS/caldav-sync.sh"
|
||||||
[[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh"
|
[[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh"
|
||||||
[[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh"
|
[[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh"
|
||||||
[[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh"
|
[[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh"
|
||||||
|
|
@ -778,6 +797,18 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ── Sync user config to /etc/skel ─────────────────────────────────────────────
|
||||||
|
# Captures everything installed by modules so future users start with the same setup.
|
||||||
|
if [[ -d "$HOME/.config" ]]; then
|
||||||
|
printf "\n Syncing ~/.config to /etc/skel...\n"
|
||||||
|
sudo mkdir -p /etc/skel/.config
|
||||||
|
sudo cp -r "$HOME/.config/." /etc/skel/.config/
|
||||||
|
fi
|
||||||
|
[[ -d "$HOME/.themes" ]] && { sudo mkdir -p /etc/skel/.themes; sudo cp -r "$HOME/.themes/." /etc/skel/.themes/; }
|
||||||
|
[[ -f "$HOME/.zshrc" ]] && sudo cp "$HOME/.zshrc" /etc/skel/.zshrc
|
||||||
|
[[ -f "$HOME/.bashrc" ]] && sudo cp "$HOME/.bashrc" /etc/skel/.bashrc
|
||||||
|
[[ -f "$HOME/.vimrc" ]] && sudo cp "$HOME/.vimrc" /etc/skel/.vimrc
|
||||||
|
|
||||||
# ── Done ──────────────────────────────────────────────────────────────────────
|
# ── Done ──────────────────────────────────────────────────────────────────────
|
||||||
if $ANSWERFILE_MODE; then
|
if $ANSWERFILE_MODE; then
|
||||||
printf "\nDone. Log: %s\n" "$LOG"
|
printf "\nDone. Log: %s\n" "$LOG"
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,8 @@ count_steps() {
|
||||||
[[ "$a" == *"shotcut"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"shotcut"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"anti-malware"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
[[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 ))
|
[[ "$a" == *"timeshift"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"mail-notmuch"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
|
[[ "$a" == *"caldav-sync"* ]] && TOTAL=$(( TOTAL + 1 ))
|
||||||
}
|
}
|
||||||
|
|
||||||
# ── Answerfile ────────────────────────────────────────────────────────────────
|
# ── Answerfile ────────────────────────────────────────────────────────────────
|
||||||
|
|
@ -342,6 +344,8 @@ else
|
||||||
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
"networking-cli" "Networking CLI nmap · nethogs · mitmproxy · httpie" off \
|
||||||
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
"disk-recovery" "Disk Recovery ddrescue · f3" off \
|
||||||
"himalaya" "Himalaya terminal email client (AUR)" off \
|
"himalaya" "Himalaya terminal email client (AUR)" off \
|
||||||
|
"mail-notmuch" "Mail (notmuch) isync · msmtp · notmuch · alot stack" off \
|
||||||
|
"caldav-sync" "CalDAV Sync vdirsyncer · khal calendar sync" off \
|
||||||
"gnuplot" "Gnuplot scientific plotting" off \
|
"gnuplot" "Gnuplot scientific plotting" off \
|
||||||
"blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \
|
"blender-povray" "Blender + POV-Ray 3D modelling & ray-tracing" off \
|
||||||
"toot" "toot Mastodon CLI client (AUR)" off \
|
"toot" "toot Mastodon CLI client (AUR)" off \
|
||||||
|
|
@ -538,6 +542,8 @@ fi
|
||||||
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
[[ "$SELECTED_APPS" == *"networking-cli"* ]] && run_module "Networking CLI" "$APPS/networking-cli.sh"
|
||||||
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
[[ "$SELECTED_APPS" == *"disk-recovery"* ]] && run_module "Disk Recovery" "$APPS/disk-recovery.sh"
|
||||||
[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
[[ "$SELECTED_APPS" == *"himalaya"* ]] && run_module "Himalaya" "$APPS/himalaya.sh"
|
||||||
|
[[ "$SELECTED_APPS" == *"mail-notmuch"* ]] && run_module "Mail (notmuch)" "$APPS/mail-notmuch.sh"
|
||||||
|
[[ "$SELECTED_APPS" == *"caldav-sync"* ]] && run_module "CalDAV Sync" "$APPS/caldav-sync.sh"
|
||||||
[[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh"
|
[[ "$SELECTED_APPS" == *"gnuplot"* ]] && run_module "Gnuplot" "$APPS/gnuplot.sh"
|
||||||
[[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh"
|
[[ "$SELECTED_APPS" == *"blender-povray"* ]] && run_module "Blender + POV-Ray" "$APPS/blender-povray.sh"
|
||||||
[[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh"
|
[[ "$SELECTED_APPS" == *"toot"* ]] && run_module "toot" "$APPS/toot.sh"
|
||||||
|
|
@ -676,6 +682,18 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ── Sync user config to /etc/skel ─────────────────────────────────────────────
|
||||||
|
# Captures everything installed by modules so future users start with the same setup.
|
||||||
|
if [[ -d "$HOME/.config" ]]; then
|
||||||
|
printf "\n Syncing ~/.config to /etc/skel...\n"
|
||||||
|
sudo mkdir -p /etc/skel/.config
|
||||||
|
sudo cp -r "$HOME/.config/." /etc/skel/.config/
|
||||||
|
fi
|
||||||
|
[[ -d "$HOME/.themes" ]] && { sudo mkdir -p /etc/skel/.themes; sudo cp -r "$HOME/.themes/." /etc/skel/.themes/; }
|
||||||
|
[[ -f "$HOME/.zshrc" ]] && sudo cp "$HOME/.zshrc" /etc/skel/.zshrc
|
||||||
|
[[ -f "$HOME/.bashrc" ]] && sudo cp "$HOME/.bashrc" /etc/skel/.bashrc
|
||||||
|
[[ -f "$HOME/.vimrc" ]] && sudo cp "$HOME/.vimrc" /etc/skel/.vimrc
|
||||||
|
|
||||||
# ── Done ──────────────────────────────────────────────────────────────────────
|
# ── Done ──────────────────────────────────────────────────────────────────────
|
||||||
if $ANSWERFILE_MODE; then
|
if $ANSWERFILE_MODE; then
|
||||||
printf "\nDone. Log: %s\n" "$LOG"
|
printf "\nDone. Log: %s\n" "$LOG"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue