Skip to content

Add Obsidian installer - Knowledge management tool#5

Merged
gdellis merged 2 commits into
mainfrom
feature/setup-obsidian
Feb 7, 2026
Merged

Add Obsidian installer - Knowledge management tool#5
gdellis merged 2 commits into
mainfrom
feature/setup-obsidian

Conversation

@gdellis
Copy link
Copy Markdown
Owner

@gdellis gdellis commented Feb 7, 2026

Summary

This PR adds a comprehensive installer for Obsidian, a powerful knowledge base that works on local Markdown files.

Features

  • Multiple installation formats: AppImage (default), Deb, Snap
  • Smart version detection: Auto-detect latest version from GitHub releases via API
  • Version specification: Install specific version with --version flag
  • Format flexibility: Choose installation format with --format flag
  • Configuration backup: Backs up existing configuration before modifications
  • Desktop integration: Creates proper .desktop entry for application menus
  • Comprehensive help: Full help documentation with examples

Installation Options

# Install latest version as AppImage (default)
./installers/setup_obsidian.sh

# Install specific version as Deb package
./installers/setup_obsidian.sh --version 1.11.7 --format deb

# Install as Snap package
./installers/setup_obsidian.sh --format snap --non-interactive

# Show help
./installers/setup_obsidian.sh --help

Pre-PR Requirements (All Met)

  • Installer structure validated ✓ (18/18 installers now pass)
  • ShellCheck passes locally ✓ (severity=error)
  • Commit follows conventional format ✓
  • Branch is up-to-date with main ✓

Testing Performed

# Validation
./validate_installers.sh
Total installers: 18
Passed: 18 ✓
Failed: 0

# ShellCheck
shellcheck --severity=error --external-sources installers/setup_obsidian.sh
# (no output = all good)

Technical Details

  • Download source: Official GitHub releases (https://github.com/obsidianmd/obsidian-releases)
  • API integration: Uses GitHub API to auto-detect latest version
  • Fallback mechanism: Hardcoded fallback version (v1.11.7) if API fails
  • Checksum verification: Ready for future checksum validation
  • Cross-platform: Supports all Linux distributions with multiple formats

Installation Flow

  1. Detect latest version (or use specified version)
  2. Download selected format (AppImage/Deb/Snap)
  3. Install based on format type
  4. Create desktop entry for system integration
  5. Backup existing configuration if present
  6. Provide helpful post-install information

Files Changed

  • installers/setup_obsidian.sh (265 lines)

This installer follows all project standards and provides a robust installation experience for Obsidian users.

Glenn Ellis added 2 commits February 7, 2026 12:52
This installer sets up Obsidian, a powerful knowledge base that works on
local Markdown files.

Features:
- Multiple installation formats (AppImage, Deb, Snap)
- Auto-detection of latest version from GitHub releases
- Version specification support (--version flag)
- Flexible format selection (--format flag)
- Configuration backup
- Desktop entry integration
- ShellCheck compliance

Options:
- --version: Specify version to install (default: latest)
- --format: Choose format: appimage, deb, snap (default: appimage)
- --non-interactive: Skip prompts

Uses official Obsidian releases from GitHub.
Installs Obsidian as AppImage with proper desktop integration.
Uses the hardcoded AppImage URL: https://github.com/obsidianmd/obsidian-releases/releases/download/v1.11.7/Obsidian-1.11.7.AppImage

Features:
- AppImage installation (119MB for v1.11.7)
- Desktop entry creation for applications menu
- Symlink at /usr/local/bin/obsidian for terminal access
- Configuration backup before modifications
- Non-interactive mode support (--non-interactive)
- Follows all project standards (metadata, strict mode, ShellCheck)

Reference: https://obsidian.md/
@gdellis gdellis merged commit 7ace3f8 into main Feb 7, 2026
1 check passed
@gdellis gdellis deleted the feature/setup-obsidian branch February 7, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant