Files
Omeron/modules/core/dotfiles.sh
Pepe44DEV 1aa8c7cf40 feat: system hyprland.conf übernommen + ags + wallpapers
- hyprland.conf von /home/pascal/.config/hypr/ auf System übernommen
  (Monitore eDP-1/DP-3, awww-Background-Set via autostart,
   lid-dock-handler, hyprpolkitagent, ai-command-center source,
   clipboard-manager.sh bind, togglefloating auf F)
- scripts/lid-dock-handler.sh von System kopiert
- wallpapers/forest.jpg + rose-pink.jpg ins Projekt aufgenommen
  (werden via dotfiles-Deployment nach ~/Bilder/Wallpaper/ kopiert,
   replace_home_paths passt den Pfad im Theme an)
- aylurs-gtk-shell (ags) + hyprpolkitagent zur hyprland-Gruppe
- chmod +x auch für hypr/scripts/ (lowercase)
2026-05-27 23:18:27 +02:00

86 lines
2.6 KiB
Bash
Executable File

#!/usr/bin/env bash
module_description() {
printf "Dotfiles - deploy configuration files to ~/.config\n"
}
module_required() { return 0; }
module_should_skip() { return 1; }
module_prereqs() {
return 0
}
module_main() {
log_section "Dotfile Deployment"
local dotfiles_dir="$OMERON_PROJECT_DIR/dotfiles"
local config_items=()
local backup_dir
if [[ -f "$OMERON_PROJECT_DIR/config/omeron.yaml" ]] && command -v python3 >/dev/null 2>&1; then
log_info "Loading config items from omeron.yaml"
config_items=()
local raw_items
raw_items="$(python3 -c "
import yaml
with open('$OMERON_PROJECT_DIR/config/omeron.yaml') as f:
data = yaml.safe_load(f)
items = data.get('dotfiles', {}).get('items', [])
print(' '.join(items))
" 2>/dev/null)"
if [[ -n "$raw_items" ]]; then
read -ra config_items <<< "$raw_items"
fi
fi
if ((${#config_items[@]} == 0)); then
config_items=(hypr waybar wofi swaync kitty gtk-3.0 gtk-4.0 qt5ct qt6ct)
fi
if ! tui_confirm "Deploy dotfiles to ~/.config? (existing files will be backed up)"; then
log_info "Dotfile deployment skipped by user"
return 0
fi
backup_dir="$(backup_file "$HOME/.config/hypr" "$HOME/.dotfiles-backup/$(date +%Y%m%d-%H%M%S)")"
backup_dir="$(dirname "$backup_dir" 2>/dev/null || printf '%s' "$HOME/.dotfiles-backup/$(date +%Y%m%d-%H%M%S)")"
for item in "${config_items[@]}"; do
local source="$dotfiles_dir/$item"
local target="$HOME/.config/$item"
if [[ ! -d "$source" ]] && [[ ! -f "$source" ]]; then
log_warn "Source not found: $source"
continue
fi
log_info "Deploying $item..."
copy_path "$source" "$target"
done
if [[ -f "$dotfiles_dir/starship.toml" ]]; then
copy_path "$dotfiles_dir/starship.toml" "$HOME/.config/starship.toml"
fi
local wallpaper_source="$dotfiles_dir/wallpapers"
local wallpaper_target="$HOME/Bilder/Wallpaper"
if [[ -d "$wallpaper_source" ]]; then
copy_path "$wallpaper_source" "$wallpaper_target"
fi
chmod +x "$HOME/.config/hypr/Scripts/"*.sh 2>/dev/null || true
chmod +x "$HOME/.config/hypr/Scripts/"*.py 2>/dev/null || true
chmod +x "$HOME/.config/hypr/scripts/"*.sh 2>/dev/null || true
chmod +x "$HOME/.config/waybar/scripts/"*.sh 2>/dev/null || true
replace_home_paths "$HOME/.config/hypr" "/home/pascal"
replace_home_paths "$HOME/.config/gtk-3.0" "/home/pascal"
replace_home_paths "$HOME/.config/gtk-4.0" "/home/pascal"
replace_home_paths "$HOME/.config/qt5ct" "/home/pascal"
replace_home_paths "$HOME/.config/qt6ct" "/home/pascal"
log_success "Dotfiles deployed (backup: $backup_dir)"
}