“First rule of Arch Linux: nothing works out of the box. Second rule: that’s why we love it.”
The Genesis of a Stupid-Simple Idea
It started at 2 AM (don’t all good ideas?). I was staring at three different note-taking apps and a terminal full of random .txt files. The madness needed to stop.
I wanted:
- Zero GUI nonsense
- Instant sync from terminal to cloud
- Something that wouldn’t make my Arch install weep
The dream command:
1
python3 sync.py add "Fix life" "Start with coffee"
Simple, right? Cue malicious laughter from the Linux gods.
Notion API: The Calm Before the Storm
Phase one went suspiciously well:
- Created a Notion database (columns:
Title
,Content
) - Grabbed my integration token (not via “Share” like a normie - Connections tab FTW)
- Extracted the database ID like a URL surgeon
Then I wrote the most beautiful 3-line Python script:
1
2
from notion_client import Client
notion = Client(auth="my_very_secret_token")
“This might actually work,” I thought. Famous last words.
Arch Linux Said “No” (With Extreme Prejudice)
Ran the script. Got bitch-slapped:
1
ModuleNotFoundError: No module named 'notion_client'
No problem, I’ll just:
1
pip install notion-client
Arch’s response:
1
error: externally-managed-environment
Translation: “Nice try, n00b. Your system Python is a temple - don’t piss in it.”
Virtual Environments: Building a Safe Space to Break Things
The solution? Create a digital sandbox where I could pip to my heart’s content:
1
2
3
python3 -m venv stickynotesync
source stickynotesync/bin/activate
pip install notion-client
Suddenly - silence. Beautiful, error-free silence. The script ran. Notion updated. The terminal gods smiled.
The Real Win Wasn’t the Sync
Sure, seeing my notes appear in Notion was cool. But the real victory? Learning:
- Why Arch locks down Python like Fort Knox
- How virtual environments are like condoms for your OS
- That
-break-system-packages
is basically saying “hold my beer” to your distro
This wasn’t just about sticky notes - it was about understanding the machine. Really understanding it.
What’s Brewing in My Code Dungeon
Current experiments:
list
- Terminal-powered note browsing (colors optional, attitude mandatory)done
- Mark tasks complete without touching that cursed mousesyncfromfile
- Because real hackers use .txt files like it’s 1995
All terminal-native. All system-respecting. All very Arch.
Parting Wisdom for Fellow Terminal Warriors
If you take nothing else from this saga:
- Venvs aren’t optional on Arch - they’re survival gear
- When the system fights you, it’s trying to teach you something
- Real power comes from understanding why the error exists
Now if you’ll excuse me, I need to:
1
python3 sync.py add "Celebrate" "Whisky, neat"
Want the full script or Notion DB setup? Hit me up. First round of error messages is on me.
— @arenredd (currently at war with pacman, but winning)