Dotfiles/setup/modules/lib/logging.sh

40 lines
1.3 KiB
Bash

#!/bin/bash
# Shared logging helpers — source this in every module
GREEN="\e[32m"
YELLOW="\e[33m"
RED="\e[31m"
RESET="\e[0m"
log() { printf "${GREEN}[+] %s${RESET}\n" "$*"; }
skip() { printf "${YELLOW}[~] %s${RESET}\n" "$*"; }
warn() { printf "${YELLOW}[!] %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."
}