“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 IdeaIt 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 StormPhase 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 | from notion_client import Client |
“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 ThingsThe solution? Create a digital sandbox where I could pip to my heart’s content:
1 | python3 -m venv stickynotesync |
Suddenly - silence. Beautiful, error-free silence. The script ran. Notion updated. The terminal gods smiled.
The Real Win Wasn’t the SyncSure, 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 DungeonCurrent experiments:
list - Terminal-powered note browsing (colors optional, attitude mandatory)
done - Mark tasks complete without touching that cursed mouse
syncfromfile - Because real hackers use .txt files like it’s 1995
All terminal-native. All system-respecting. All very Arch.
Parting Wisdom for Fellow Terminal WarriorsIf 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)