#!/bin/bash # ============================================================================== # Papers Library Setup Script # Sets up symlinks for the bibliography/papers system # # Usage: # 1. Clone the repo: git clone https://github.com/krisyotam/papers ~/dev/papers # 2. Run this script: ~/dev/papers/setup.sh # # This creates: # ~/bib-lib -> ~/dev/papers (symlink) # ~/notes/references -> ~/dev/papers/roam/references (symlink) # ============================================================================== set -e PAPERS_DIR="$HOME/dev/papers" BIB_LINK="$HOME/bib-lib" NOTES_DIR="$HOME/notes" REFS_LINK="$NOTES_DIR/references" echo "=== Papers Library Setup ===" echo "" # Check if papers repo exists if [ ! -d "$PAPERS_DIR" ]; then echo "ERROR: Papers repo not found at $PAPERS_DIR" echo "Clone it first: git clone https://github.com/krisyotam/papers ~/dev/papers" exit 1 fi # Handle ~/bib-lib if [ -L "$BIB_LINK" ]; then echo "~/bib-lib is already a symlink, removing..." rm "$BIB_LINK" elif [ -d "$BIB_LINK" ]; then echo "~/bib-lib is a directory, backing up to ~/bib-lib.bak..." if [ -d "$BIB_LINK.bak" ]; then rm -rf "$BIB_LINK.bak" fi mv "$BIB_LINK" "$BIB_LINK.bak" fi echo "Creating symlink: ~/bib-lib -> ~/dev/papers" ln -sf "$PAPERS_DIR" "$BIB_LINK" # Handle ~/notes/references mkdir -p "$NOTES_DIR" if [ -L "$REFS_LINK" ]; then echo "~/notes/references is already a symlink, removing..." rm "$REFS_LINK" elif [ -d "$REFS_LINK" ]; then echo "~/notes/references is a directory, backing up..." if [ -d "$REFS_LINK.bak" ]; then rm -rf "$REFS_LINK.bak" fi mv "$REFS_LINK" "$REFS_LINK.bak" fi echo "Creating symlink: ~/notes/references -> ~/dev/papers/roam/references" ln -sf "$PAPERS_DIR/roam/references" "$REFS_LINK" echo "" echo "=== Setup Complete ===" echo "" echo "Directory structure:" echo " ~/bib-lib -> ~/dev/papers" echo " ~/bib-lib/library.bib - Main bibliography" echo " ~/bib-lib/temp-lib.bib - Temporary imports" echo " ~/bib-lib/pdfs/ - Main PDF storage" echo " ~/bib-lib/temp-pdfs/ - Temporary PDFs" echo " ~/notes/references -> ~/dev/papers/roam/references" echo "" echo "Emacs config expects ~/bib-lib/ paths - these now point to ~/dev/papers" echo "" echo "To commit changes to your papers:" echo " cd ~/dev/papers && git add -A && git commit -m 'Update papers' && git push"