Build the Panama Hyprland desktop
This commit is contained in:
@@ -29,7 +29,12 @@ fi
|
||||
log "Symlinking Panama .bashrc file to ~/.bashrc"
|
||||
ln -s "$PANAMA_BASH/.bashrc" "$HOME/.bashrc"
|
||||
|
||||
dirs=("espanso" "forge" "ghostty" "kitty" "nvim" "tmux")
|
||||
# Each entry is symlinked as ~/.config/<name> -> $PANAMA_DOT/<name>.
|
||||
# "forge" is the GNOME tiling extension; "hypr"/"quickshell"/"wofi" are the
|
||||
# Hyprland desktop. They coexist deliberately — the GNOME session keeps working
|
||||
# while Hyprland is being used, so you can log back into either.
|
||||
dirs=("espanso" "forge" "ghostty" "gtk-3.0" "gtk-4.0" "hypr" "kitty" "nvim" \
|
||||
"quickshell" "tmux" "uwsm" "vicinae" "wofi" "xdg-desktop-portal")
|
||||
|
||||
# --- Vim vimrc ---
|
||||
echo -e "\n--- Setting up vim ---"
|
||||
@@ -64,3 +69,41 @@ for dir in "${dirs[@]}"; do
|
||||
ln -s "$PANAMA_DOT/$dir" "$CONFIG/$dir"
|
||||
log "Linked $PANAMA_DOT/$dir → $CONFIG/$dir"
|
||||
done
|
||||
|
||||
# Vicinae 0.26 discovers user themes from its XDG data directory rather than
|
||||
# from ~/.config/vicinae. Keep the authored theme in Panama with the rest of
|
||||
# the launcher config and expose only that file at Vicinae's runtime path.
|
||||
VICINAE_THEME_DIR="$HOME/.local/share/vicinae/themes"
|
||||
VICINAE_THEME="$VICINAE_THEME_DIR/tokyonight-moon.toml"
|
||||
mkdir -p "$VICINAE_THEME_DIR"
|
||||
|
||||
if [ -L "$VICINAE_THEME" ]; then
|
||||
rm "$VICINAE_THEME"
|
||||
fi
|
||||
|
||||
if [ -e "$VICINAE_THEME" ]; then
|
||||
log "Keeping existing Vicinae theme at $VICINAE_THEME"
|
||||
else
|
||||
ln -s "$PANAMA_DOT/vicinae/themes/tokyonight-moon.toml" "$VICINAE_THEME"
|
||||
log "Linked Tokyo Night Moon theme → $VICINAE_THEME"
|
||||
fi
|
||||
|
||||
# Panama-native applications live in the user data directory so launchers can
|
||||
# discover them alongside system desktop entries. Keep each authored file in
|
||||
# the repository and expose it with a narrow per-file symlink.
|
||||
PANAMA_APPLICATION_DIR="$PANAMA_PATH/config/local/share/applications"
|
||||
USER_APPLICATION_DIR="$HOME/.local/share/applications"
|
||||
mkdir -p "$USER_APPLICATION_DIR"
|
||||
for desktop_file in "$PANAMA_APPLICATION_DIR"/*.desktop; do
|
||||
[[ -e "$desktop_file" ]] || continue
|
||||
desktop_name="$(basename "$desktop_file")"
|
||||
desktop_target="$USER_APPLICATION_DIR/$desktop_name"
|
||||
if [[ -L "$desktop_target" ]]; then
|
||||
rm "$desktop_target"
|
||||
elif [[ -e "$desktop_target" ]]; then
|
||||
log "Keeping existing desktop entry at $desktop_target"
|
||||
continue
|
||||
fi
|
||||
ln -s "$desktop_file" "$desktop_target"
|
||||
log "Linked $desktop_name → $desktop_target"
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user