A comprehensive guide to creating a unified, lightweight note-taking ecosystem using Syncthing, Neovim, and Markor
Table of Contents
- Introduction
- System Overview
- Desktop Setup (Linux)
- Mobile Setup (Android)
- Synchronization Configuration
- Conclusion
TL;DR: Learn how to create a fast, offline-capable, Markdown-based notes system that syncs across Linux, Android, and tablets — using only free, open-source tools like Syncthing, Neovim, and Markor.
Introduction
In an era of proprietary note-taking applications that lock your data into specific formats and cloud services, many developers and power users seek a more flexible, future-proof solution. This guide presents a complete setup for a cross-platform markdown note-taking system that prioritizes:
- Data ownership - your notes remain in plain markdown files
- Cross-platform compatibility - seamless access from desktop, mobile, and tablet
- Offline functionality - works without internet connectivity
- Terminal-centric workflow - integrates with existing development tools
- Zero vendor lock-in - portable to any system or application
The system combines the power of Neovim for desktop editing, Markor for mobile markdown editing, and Syncthing for decentralized synchronization, creating a robust ecosystem that adapts to your workflow rather than forcing you to adapt to it.
System Overview
Architecture Components
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Desktop/PC │ │ Tablet │ │ Mobile │
│ │ │ │ │ │
│ • Neovim │◄──►│ • Markor │◄──►│ • Markor │
│ • Syncthing │ │ • Syncthing │ │ • Syncthing │
│ • Git (backup) │ │ │ │ │
│ • Terminal │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
└───────────────────────┼───────────────────────┘
│
┌─────────────────┐
│ Shared Markdown │
│ File System │
│ │
│ ~/Notes/ │
│ ├── dev/ │
│ ├── personal/ │
│ ├── knowledge/ │
│ ├── projects/ │
│ ├── inbox/ │
│ └── archive/ │
└─────────────────┘
Key Features
- Unified file structure across all devices
- Real-time synchronization without cloud dependencies
- Quick capture capabilities on mobile devices
- Powerful search and organization tools
- Git integration for version control and backup
Desktop Setup (Linux)
Prerequisites
This guide assumes you're using a Linux distribution with a package manager. Commands are shown for Arch-based systems (pacman), but can be adapted for other distributions.
Step 1: Install Required Packages
# Install core components
sudo pacman -S neovim git syncthing
# Optional: ripgrep for enhanced searching
sudo pacman -S ripgrep
Step 2: Create Directory Structure
# Create the main notes directory and subdirectories
mkdir -p ~/Notes/{dev,personal,knowledge,projects,inbox,archive}
# Verify structure
tree ~/Notes
Directory Purpose:
-
dev/
- Development notes, code snippets, tutorials -
personal/
- Personal thoughts, diary entries, ideas -
knowledge/
- Learning materials, research, reference -
projects/
- Project-specific documentation -
inbox/
- Quick captures, temporary notes -
archive/
- Completed or obsolete notes
Step 3: Configure Syncthing
# Enable and start Syncthing service
systemctl --user enable syncthing
systemctl --user start syncthing
# Open web interface
firefox http://localhost:8384
Initial Syncthing Configuration:
- Access the web interface at
http://localhost:8384
- Add your Notes folder by clicking "Add Folder"
- Set Folder Path:
/home/yourusername/Notes/
- Set Folder Label: "Notes"
Step 4: Add Notes Folder to Syncthing
The Notes folder should already be added during initial configuration. If not:
- Click "Add Folder" in the web interface
-
Folder Path:
/home/yourusername/Notes/
- Folder Label: "Notes"
- Click "Save"
Mobile Setup (Android)
Step 1: Install Syncthing
Install Syncthing from Google Play Store or download the APK directly.
Step 2: Install Markdown Editor
Installing Markor
Since Markor is no longer available on Google Play Store:
- Visit https://github.com/gsantner/markor/releases
- Download the latest APK file
- Enable "Install from unknown sources" in Android settings
- Install the APK manually
Step 3: Configure Syncthing on Mobile
- Open Syncthing app
- Grant storage permissions
- Note your Device ID for connecting to desktop
Step 4: Open Markor
- Open Markor app
- Grant storage permissions
- Navigate to your Notes folder and start creating/editing markdown files
Synchronization Configuration
Connecting Devices
From Desktop to Mobile:
- On Desktop: Open Syncthing web interface
- Click "Add Device"
- Option A: Scan QR code from mobile device
- Option B: Enter Device ID manually
- Give device a name (e.g., "Android Phone")
- Click "Save"
From Mobile to Desktop:
- On Mobile: Open Syncthing app
- Tap "+" → "Add Device"
- Option A: Scan QR code from desktop
- Option B: Enter Desktop Device ID
- Name the device (e.g., "Linux Desktop")
- Tap "Save"
Sharing Folders
Desktop Side:
- In Syncthing web interface, find "Notes" folder
- Click folder icon → "Edit"
- Go to "Sharing" tab
- Select your mobile device
- Click "Save"
Mobile Side:
- Accept the folder share notification
- Set Folder Path to your Notes folder location
- Set Folder Type: "Send & Receive"
- Tap "Save"
Verification
Create a test file on desktop and verify it appears on mobile device within seconds.
Conclusion
This markdown note-taking system provides a robust, future-proof solution for managing notes across multiple devices without vendor lock-in. The combination of Syncthing's decentralized synchronization, Neovim's powerful editing capabilities, and Markor's mobile-friendly interface creates a seamless workflow that adapts to your needs.
Key Benefits Achieved:
✅ Data Ownership - Your notes remain in standard markdown format\
✅ Cross-Platform Access - Seamless editing on desktop, tablet, and mobile\
✅ Offline Functionality - Works completely without internet\
✅ Terminal Integration - Fits naturally into developer workflows\
✅ Extensibility - Easy to customize and extend with scripts\
✅ No Vendor Lock-in - Portable to any system or application\
✅ Quick Capture - Instant note creation from any device
Next Steps:
- Create your first notes to test the system
- Develop a consistent naming convention for your files
- Organize notes into appropriate folders as your collection grows
- Set up regular backup routines if desired
- Customize the system based on your specific needs
The beauty of this system lies in its simplicity and flexibility. As your needs evolve, you can easily adapt and extend the system without being constrained by the limitations of proprietary software. Your notes remain yours, in a format that will be readable decades from now, accessible from any device, and editable with any text editor.
Whether you're a developer documenting code, a student taking research notes, or a professional managing projects, this system provides the foundation for a lifetime of organized, accessible note-taking.
This guide represents a living document. As tools evolve and new solutions emerge, the principles of data ownership, cross-platform compatibility, and workflow integration remain constant guides for building sustainable knowledge management systems.
This looks awesome! I can’t wait to try this setup myself and finally have my notes synced across all my devices. Thanks for the detailed guide!